Jquery 使用on方法检测代码所做的无线电更改
我正在一个网站上做一些BI工作。网页包含一些单选按钮,当用户单击包含它的框时,这些单选按钮将通过编程方式进行检查 因此,当用户单击div时,我无法更改html或检查收音机的功能:Jquery 使用on方法检测代码所做的无线电更改,jquery,Jquery,我正在一个网站上做一些BI工作。网页包含一些单选按钮,当用户单击包含它的框时,这些单选按钮将通过编程方式进行检查 因此,当用户单击div时,我无法更改html或检查收音机的功能: <form> <div><input type="radio" name="a" value="1" checked>1</div> <div><input type="radio" name="a" value="2">2</div
<form>
<div><input type="radio" name="a" value="1" checked>1</div>
<div><input type="radio" name="a" value="2">2</div>
</form>
jQuery('form > div').on('click', function() {
$(this).find('input[type=radio]').prop('checked', true);
});
如何解决此问题?使用
$(this).find('input[type=radio')).trigger('change')代码>使用$(this).find('input[type=radio')).trigger('change')代码>更改收音机的checked属性后,只需触发一个更改事件,如下所示:
jQuery('form > div').on('click', function() {
var element = $(this).find('input[type=radio]');
element.prop('checked', true);
element.change();
});
更改收音机的checked属性后,只需触发一个更改事件,如下所示:
jQuery('form > div').on('click', function() {
var element = $(this).find('input[type=radio]');
element.prop('checked', true);
element.change();
});
您可以在设置radio checked属性后触发更改事件。可能存在重复,因此您无法重写函数(如您在我的已删除答案上所写),也无法更改HTML。我们还应该知道其他限制吗?!是的,我需要这些div。您可以在设置radio checked属性后触发更改事件。可能存在重复,因此您无法重写函数(正如您在我已删除的答案上所写),也无法更改HTML。我们还应该知道其他限制吗?!是的,我需要那些div。我不能更改该函数。@不完整-您能更改包含控制台日志的函数吗?如果是,请将其更改为在单击div时触发,而不是在更改收音机时触发。类似于:jQuery('form>div').on('click',function(){console.log(1234);})代码>我不能更改该函数。@不完整-您能更改包含控制台日志的函数吗?如果是,请将其更改为在单击div时触发,而不是在更改收音机时触发。类似于:jQuery('form>div').on('click',function(){console.log(1234);})代码>