$.click() 和 $.trigger() 不会激活复选框的 onchange 函数

$.click() and $.trigger() does not activate the onchange function of a Checkbox

本文关键字:复选框 函数 onchange 激活 click trigger      更新时间:2023-09-26

我想以编程方式选中一个复选框并触发复选框的 onchange 函数

我已经尝试过("#myCheckbox").click()但它只检查它而不调用它的 onchange 函数

如何让 onchange 函数也执行?

编辑:

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

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

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

JSFiddle

像这样的事情怎么样:

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

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

function theOnchangeFunction(){
}

你可以像下面这样尝试

 $("#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();" />

不明白,它有效: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') });

使用 on() 尝试这两种events,例如,

("#myCheckbox").on('click change',function(e){
    alert(e.type);
})