用于选择不在IE8中工作的复选框的Javascript代码

时间:2013-04-11 14:04:39

标签: javascript

我有以下代码切换选择具有特定名称的所有复选框。

该代码在基于webkit的浏览器中运行良好,但在IE8中根本不起作用。

选择全部切换,不会选择任何内容。

<label class="checkbox">

<input name="product" type="checkbox" id="7553" value="true" title="option1">
option1
</label>

<label class="checkbox">

<input name="product" type="checkbox" id="65693" value="true" title="option2">
option2
</label>

<label class="checkbox">
<input type="checkbox" onClick="toggle(this)"><strong>Select all</strong>
</label>

这是JS

<script type="text/javascript">
function toggle(source) {
checkboxes = document.getElementsByName('product');
for(var i in checkboxes)
checkboxes[i].checked = source.checked;
}
</script>

有人能看出为什么以上在IE8中不起作用吗?

由于

1 个答案:

答案 0 :(得分:2)

可能是因为你不应该在数组上使用for..in(或者,在这种情况下,是一个类似数组的对象)。

试试这个:

for( var i=0, l=checkboxes.length; i<l; i++) {
    checkboxes[i].checked = source.checked;
}