使用方法

时间:2016-04-11 21:55:05

标签: 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>

jQuery('form > div').on('click', function() {
    $(this).find('input[type=radio]').prop('checked', true);
});

现在我正在尝试编写一些要在此页面上注入的代码。此代码需要检测无线电更改,但除非用户单击无线电本身,否则jQuery on方法无法检测到它。

jQuery('form > div').on('change', 'input[type=radio]', function() {
    console.log(1234);
});

https://jsfiddle.net/e6n3roqw/

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

使用$(this).find('input[type=radio]').trigger('change');

答案 1 :(得分:1)

更改收音机的已检查属性后,只需触发更改事件,如下所示:

jQuery('form > div').on('click', function() {
        var element = $(this).find('input[type=radio]');
    element.prop('checked', true);
    element.change();
});

JS Fiddle Demo