Ben*_*Ben 86 checkbox jquery click ischecked
当我将一个函数绑定到一个复选框元素,如:
$("#myCheckbox").click( function() {
alert($(this).is(":checked"));
});
Run Code Online (Sandbox Code Playgroud)
复选框在触发事件之前更改其已检查的属性,这是正常行为,并给出反向结果.
但是,当我这样做时:
$("#myCheckbox").click();
Run Code Online (Sandbox Code Playgroud)
触发事件后,复选框会更改其检查属性.
我的问题是,有没有办法从jQuery触发click事件,就像普通点击一样(第一个场景)?
PS:我已经尝试过trigger('click')
;
tcu*_*rdt 88
$('#myCheckbox').change(function () {
if ($(this).prop("checked")) {
// checked
return;
}
// not checked
});
Run Code Online (Sandbox Code Playgroud)
注意:在旧版本的jquery中,可以使用它attr
.现在建议用它prop
来读取状态.
Nic*_*ver 27
在jQuery 1.3.2和1.4.2中有一个可行的解决方法:
$("#myCheckbox").change( function() {
alert($(this).is(":checked"));
});
//Trigger by:
$("#myCheckbox").trigger('click').trigger('change');?????????????
Run Code Online (Sandbox Code Playgroud)
但我同意,与本机事件相比,这种行为似乎有些麻烦.
ato*_*ess 10
截至2016年6月(使用jquery 2.1.4),其他任何建议的解决方案都不起作用.检查attr('checked')
始终返回undefined
并is('checked)
始终返回false
.
只需使用prop方法:
$("#checkbox").change(function(e) {
if ($(this).prop('checked')){
console.log('checked');
}
});
Run Code Online (Sandbox Code Playgroud)