我正在浪费时间尝试从另一个复选框(使用jQuery)触发绑定操作
http://jsfiddle.net/gasparirob/ZbMHQ/
如您所见,如果我单击第一个checbox,则会触发警报(选中复选框时)。但是,如果我单击第二个复选框(也会检查第一个复选框),则警报不会触发!
为什么?
答案 0 :(得分:2)
您需要手动调用
$('#checkThis').change(function(){
$("#target").prop("checked", $(this).is(':checked'))
.change();
});
$('#target').change(function(){
if ($(this).is(':checked')) {
alert ('checked');
}
});
我还更改了您的代码以使用.prop()
,这使其更加清晰。
答案 1 :(得分:0)
因为您只检查了ID为“target”的复选框,并且在您输入laert后添加了这个,并且您的第二个复选框的工作方式如下:
$('#checkThis').change(function(){
if ($(this).is(':checked')) {
alert ('checked');
}
});
答案 2 :(得分:0)
在这种情况下,您可以在第一个复选框上手动触发更改事件:
$('#checkThis').change(function(){
if($(this).is(':checked')){
$("#target")
.attr("checked","checked")
.change();
} else {
$("#target")
.attr("checked",false)
.change();
}
});