如何为Web表单创建“全​​部检查”链接?

时间:2009-01-13 07:14:47

标签: javascript

我有一个带有一堆复选框的表单,我想提供一个“全部检查”链接/按钮。

我正在使用下面的代码,但是当它运行时,它会在页面上选择一些单选按钮,并检查/取消选中这些按钮。我该如何解决这个问题?

var check = 0;
function doNow()
{
    void(d=document);
    void(el=d.getElementsByTagName('INPUT'));
    for(i=0;i<el.length;i++)
    {
        if(check == 0)
            void(el[i].checked=1)
        else
            void(el[i].checked=0) 
    }
    if(check == 0)
        check = 1;
    else 
       check = 0;
}

3 个答案:

答案 0 :(得分:7)

您将要检查元素的类型,以确保您不会意外地检查错误的输入类型。

基本示例:

function checkAll( toggle ) {
    var inputs = document.getElementsByTagName( 'input' );
    for( var i = 0; i < inputs.length; i++ ) {
        if( inputs[i].type == 'checkbox' ) {
            inputs[i].checked = toggle;
        }
    }
}

您可能希望添加其他检查,例如仅对某个逻辑“组”中的复选框起作用。

答案 1 :(得分:1)

您可以检查输入的类型:

if(el[i].type == 'checkbox') {
   el[i].checked = true;
}

答案 2 :(得分:-1)

您可以将当前状态存储为函数的属性,并检查类型

function checkAll() {
    var all = document.getElementsByTagName('input');
    for( var i = 0, l = all.length; i < l; i++ ) {
        if( all[i].type == 'checkbox' ) {
            all[i].checked = checkAll.checked;
        }
    }
    checkAll.checked = !checkAll.checked;
}
checkAll.checked = true;