多个选择使用JQuery取消选中复选框

时间:2014-11-15 09:56:34

标签: javascript jquery html checkbox

以下是使用Jquery选择取消选中复选框的代码:

<input id="demo_box_0" class="checkAll css-checkbox chk_box" type="checkbox" onclick="selectAll(this)" title="Select All"/>

其他复选框是:

<input id=\"demo_box_".$row->CompanyID."\" class=\"css-checkbox csscheck\" type=\"checkbox\" value=\"".trim($row->CompanyID)."\"  />

由于我的课程名称很长,所以我没有期待结果

这是我的剧本:

$('.checkAll css-checkbox chk_box').click(function() {
    if ($(this).is(':checked')) {
        $('div input').attr('checked', true);
    } else {
        $('div input').attr('checked', false);
    }
});

我正在做的错误是什么?如何解决这个问题?

更新:

我甚至试过这个

<script>
$(document).ready(function(){
$("#demo_box_0").click(function(){
        //alert("just for check");
        if(this.checked){
            $('.checkAll css-checkbox chk_box').each(function(){
                this.checked = true;
            })
        }else{
            $('.checkAll css-checkbox chk_box').each(function(){
                this.checked = false;
            })
        }
    });
});

</script>

1 个答案:

答案 0 :(得分:1)

选择器错误,应该是:

$('.checkAll.css-checkbox.chk_box');

上面的选择器选择具有这3个classNames的所有元素。如果您只想选择具有这些classNames的复选框,您还可以将元素类型添加到选择器:

$('input[type=checkbox].checkAll.css-checkbox.chk_box');

另外,对于修改属性,您应该使用prop方法:

$('.checkAll.css-checkbox.chk_box').on('change', function() {
    $('div input').prop('checked', this.checked);
});