1

我试图在单击全选/取消全选复选框时选中/取消选中所有复选框,如下所示:

onclick="selectAll(document.getElementsByName('myForm:checkboxes'));"

和JS函数:

function selectAll(checkboxes)
        {       
                for(var i in checkboxes)
                checkboxes[i].checked = true;
        }

function deselectAll(checkboxes)
            {       
                    for(var i in checkboxes)
                    checkboxes[i].checked = false;
            }

和 HTML:

<input type="checkbox" value="15" name="myForm:checkboxes" id="myForm:checkboxes3:_1">

此代码在 Firefox 中运行良好,但在 Internet Explorer 9 中无法运行。

4

1 回答 1

3

发表评论作为答案:

一个for..in循环,来自 Mozilla Developer Network 的文档:

for...in 循环以任意顺序迭代对象的属性

由于您checkboxes是 nodeList,而不是对象,因此for应该使用循环。

因此,请for...in使用:

for (var i=0,len=checkboxes.length;i<len;i++){
    // do stuff
}

参考:

于 2012-05-20T13:43:27.897 回答