“全选”复选框在 Internet Explorer 9 上不起作用

select all checkboxes doesn't work on internet explorer 9

本文关键字:Explorer 不起作用 Internet 全选 复选框      更新时间:2023-09-26

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

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中它不起作用。

发布评论作为答案:

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

一为...in 循环以任意顺序循环访问对象的属性

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

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

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

引用:

  • for (){/*...*/} .
  • for..in循环。