Jquery 使用on方法检测代码所做的无线电更改

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

我正在一个网站上做一些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>

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);})