$ .click()和$ .trigger()不会激活Checkbox的onchange功能

时间:2013-10-30 09:55:01

标签: javascript jquery

我想以编程方式检查复选框并触发复选框的onchange功能

我已经尝试了("#myCheckbox").click()但它只检查它并且没有调用它的onchange函数

如何才能执行onchange功能?

修改

当文档准备就绪时,我需要选中复选框并以编程方式调用其更改功能。

5 个答案:

答案 0 :(得分:6)

您的更改侦听器需要设置 之前触发复选框上的单击。以下代码没有问题:

$("#myCheckbox").on('change', function(){
   console.log('Change'); 
}).click();

JSFiddle

答案 1 :(得分:2)

这样的事情怎么样:

$('#myCheckbox').prop({ checked: true });
theOnchangeFunction();

$('#myCheckbox').on('change', theOnchangeFunction);

function theOnchangeFunction(){

}

答案 2 :(得分:1)

您可以尝试以下

 $("#scheck").attr('checked', 'checked').change();

它将检查复选框以及触发onchange事件的复选框

例如:

脚本:

    $(document).ready(function () {
        $("#scheck").attr('checked', 'checked').change();
    });      

    function checkitout() {
        alert("onchange event fired");
    }

HTML:

    <input type="checkbox" name="tdcheck" id="scheck" onchange="checkitout();" />

答案 3 :(得分:0)

不明白,它有效:http://jsfiddle.net/FW5Lp/

<input type="checkbox" id="myc">
    <button id='clic'>click</button>

$('#myc').on('change', function(){alert('ca change');});

$('#clic').on('click', function(){$('#myc').trigger('click') });

答案 4 :(得分:0)

使用on()喜欢

,同时尝试events
("#myCheckbox").on('click change',function(e){
    alert(e.type);
})