复选框以切换所有选择

时间:2014-08-26 11:15:11

标签: javascript jquery checkbox

我有这个javascript代码

    // Listen for click on toggle checkbox
$('#select-all').click(function(event) {   
    if(this.checked) {
        // Iterate each checkbox
        $(':checkbox').each(function() {
            this.checked = true;                        
        });
    }
});

我有这个

<form action="" method="POST">    
Toggle All : &nbsp;&nbsp;
<input type="checkbox" name="select-all" id="select-all" />

然后在我的桌子上我有多个复选框

<input type="checkbox" name="checkbox-1" id="checkbox-1" value="1"> Select
<input type="checkbox" name="checkbox-2" id="checkbox-2" value="2"> Select
<input type="checkbox" name="checkbox-3" id="checkbox-3" value="3"> Select
<input type="checkbox" name="checkbox-4" id="checkbox-4" value="4"> Select

当我点击全部切换时,它不会选中checkbox-1到checkbox-4

我的javascript代码出了什么问题。

谢谢!我想实际上做一个函数,当在表单提交上检查时,它会通过post发送checkbox1-4的所有值。

1 个答案:

答案 0 :(得分:3)

只需这样做。

$('#select-all').click(function(event) {
    $(':checkbox').prop("checked", this.checked);
});

您不需要遍历每个复选框来检查所有内容。

Demo

如果您的脚本位于head标记

,请将代码保存在dom中
$(document).ready(function() {
    $('#select-all').click(function(event) {
        $(':checkbox').prop("checked", this.checked);
    });
});