如何通过javascript实现checkall

时间:2013-11-28 22:14:39

标签: javascript

我有很多复选框和一个单独的复选框。我将在用户单击单独的复选框时,选择或取消选中其他复选框 为此我使用以下javascript文件,但不能正常工作。它有时可以工作,有时也不工作 什么是它的问题。
谢谢。

function toggle() {
    var c = document.getElementsByTagName('input');
    if (isChecked == true) {
        isChecked = false;
        selectCount = 0;
    } else {
        isChecked = true;
    }
    for ( var i = 0; i < c.length; i++) {
        if (c[i].type == 'checkbox') {
            if (isChecked)
                selectCount++;
            c[i].checked = isChecked;
        }
    }
    if (isChecked)
        selectCount--;
}

我将selectCount用于其他目的。

1 个答案:

答案 0 :(得分:1)

您可以尝试这样的事情(Example

var chk = document.getElementById('all');
chk.onchange = function(){
    var all = document.getElementById('checkall').children;
    var status = this.checked ? 1 : 0;
    for(var i = 0; i < all.length; i++) {
        all[i].checked = status;
    }
}

this one(使用内联onchange事件)

<强> HTML:

<input id="all" type="checkbox" name="all" onchange="toggle(this)" />Toggle
<div id="checkall">
    <input type="checkbox" />One
    <input type="checkbox" />Two
    <input type="checkbox" />Three
</div>

<强> JS:

function toggle(el){
    var all = document.getElementById('checkall').children;
    var status = el.checked ? 1 : 0;
    for(var i = 0; i < all.length; i++) {
        all[i].checked = status;
    }
}