如何检查所有复选框?

时间:2014-12-20 09:03:01

标签: javascript jquery checkbox

jsp代码是

<input 
    type="button" 
    class="btn btn-theme02 btn-xs " 
    value="CheckAll" 
    onClick="CheckAll(document.myform.checklist)" />
<input 
    type="button"  
    class="btn btn-theme02 btn-xs" 
    value="UnCheckAll" 
    onClick="UnCheckAll(document.myform.checklist)" />
<input  
    type="checkbox" 
    style="width: 20px" 
    class="checkbox form-control centered" 
    id="checklist" 
    name="checklist" 
    value="<%=voucher.getId()%>" />

复选框在表格中。复选框行是动态的。

使用Javascript:

function CheckAll(chk)
{
    for (i = 0; i < chk.length; i++)
        chk[i].checked = true ;
}

function UnCheckAll(chk)
{
    for (i = 0; i < chk.length; i++)
        chk[i].checked = false ;
}
如果有两个或更多复选框,则

CheckAll UnCheckAll 按钮正常工作。这些按钮不适用于单个复选框。

感谢。

3 个答案:

答案 0 :(得分:1)

你可以这样做:

$(":checkbox").prop('checked', true);

答案 1 :(得分:0)

试试这个:

function CheckAll(){
$('input[type=checkbox]').each(function () {
          $(this).prop('checked', true);
});
}
function UnCheckAll(){
$('input[type=checkbox]').each(function () {
          $(this).prop('checked', false);
});
}

并删除您作为参数传递的任何内容。这应该可以尝试,并让我知道任何进一步的问题。

答案 2 :(得分:0)

在传统的JS中:

function CheckAll(state) {
    var i = 0,
    inputs = document.getElementsByTagName('input');

    for (i = 0; inputs.length; i++) {
        if (inputs[i].type === 'checkbox') {
            inputs[i] = state;
        }
    }
}

checkAll(true); // to check
checkAll(false); // to uncheck