0

在以下代码中 - 我如何执行检查和取消检查。现在它只做一件事:

    $('#div_group').click(function() {
        var status = $(this).attr('checked');
        if( ! status) {
        status = false;
        }
        $("input[id~='div_group']").attr('checked', true);

    });
4

3 回答 3

3

您需要使用 prop 而不是 attr。尝试...

$("input[id~='div_group']").prop('checked', true);

然后取消选中它设置truefalse

于 2013-10-15T13:49:51.270 回答
1

使用.prop代替.attr

$('#div_group').click(function() {
    var $this = $(this);

    $("input[id~='div_group']").prop('checked', $this.is(':checked'));
});

为什么?http://api.jquery.com/prop/

于 2013-10-15T13:51:09.953 回答
0

您可以.is()在这种情况下使用来查看:checked元素的属性。这样做之后,您应该使用将元素.prop()的属性分别设置为truefalse:checked

$('#div_group').on('click', function() {
    if($(this).is(':checked')) {
         $("input[id~='div_group']").prop('checked', false);
    } else {
         $("input[id~='div_group']").prop('checked', true);
    }
});
于 2013-10-15T13:51:01.747 回答