复选框事件从另一个复选框触发

时间:2012-09-24 08:52:53

标签: jquery checkbox

我正在浪费时间尝试从另一个复选框(使用jQuery)触发绑定操作

http://jsfiddle.net/gasparirob/ZbMHQ/

如您所见,如果我单击第一个checbox,则会触发警报(选中复选框时)。但是,如果我单击第二个复选框(也会检查第一个复选框),则警报不会触发!

为什么?

3 个答案:

答案 0 :(得分:2)

您需要手动调用

$('#checkThis').change(function(){
    $("#target").prop("checked", $(this).is(':checked'))
                .change();
});

$('#target').change(function(){
    if ($(this).is(':checked')) {
        alert ('checked');
    }
});​

http://jsfiddle.net/ZbMHQ/1/

我还更改了您的代码以使用.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();
    }
});

Fixed fiddle