internet explorer 6上带有复选框的Javascript故障

internet explorer 6上带有复选框的Javascript故障,javascript,checkbox,internet-explorer-6,Javascript,Checkbox,Internet Explorer 6,我有一个脚本,它应该检查复选框列表: function onchangeSelectAllAnalysable() { var selectAll = document.forms[0].selectAllAnalysable; var selectedItems = document.forms[0].selectedItemsAnalysable; if(selectedItems != undefined) { if(selectedItems.l

我有一个脚本,它应该检查复选框列表:

function onchangeSelectAllAnalysable() {
    var selectAll = document.forms[0].selectAllAnalysable;
    var selectedItems = document.forms[0].selectedItemsAnalysable;

    if(selectedItems != undefined) {
        if(selectedItems.length != undefined) {
            for (var i=0; i<selectedItems.length; i++) {
                selectedItems[i].checked = selectAll.checked;
            }
        } else {
            selectedItems.checked = selectAll.checked;
        }
    }
    toggleShuntDiscardButtons();
}
在FF Chrome和IE7/8/9上工作正常,但在IE6上我需要它。 现在,当我激活脚本时,我看到它会通过每个框 然后检查它,但在最后,当它们都被检查时,它们会再次被检查

这似乎很奇怪,因为在脚本之后,什么都没有执行

Thx
Daniele

因为您还没有发布相关的源代码,所以我添加了我的工作基础。经过几次修改后,我的代码也可以使用IE6

守则:

<html>
<head>
<script type="text/javascript">
function onchangeSelectAllAnalysable()
{
    var selectAll = document.forms[0].elements["selectAllAnalysable"];
    var selectedItems = document.forms[0].elements["selectedItemsAnalysable"];

    if (typeof (selectedItems) == "object")
    {
        if(selectedItems.length != 0)
        {
            for (var i=0; i<selectedItems.length; i++) {
                selectedItems[i].checked = selectAll.checked;
            }
        } else {
            selectedItems.checked = selectAll.checked;
        }
    }
    toggleShuntDiscardButtons();
}
function toggleShuntDiscardButtons(){/*whatever you do here*/}
</script>
</head>
<body>
<form name="x" action="http://www.stackoverflow.com" method="post">
<input type="checkbox" name="selectedItemsAnalysable"><br>
<input type="checkbox" name="selectedItemsAnalysable"><br>
<p><input type="checkbox" name="selectAllAnalysable" onClick="onchangeSelectAllAnalysable()"></p>
</form>
</body>
</html>
注意!IE6不接受单选按钮和复选框的事件“onChange”。您必须改用“onClick”


正如您所写,复选框将被重新检查,并且您还没有提供功能切换按钮的代码,您应该在那里检查代码。也许您放弃了一些要删除的代码。

您能提供更多的代码吗?我不知道“切换按钮”的代码“selectAllAnalysable”是什么意思?它是一个属性、名称还是css类?selectAllAnalysable是激活脚本本身的另一个复选框,ToggleShutchDiscardButtons只是我启用一些按钮的功能,我尝试在“ToggleShutchDiscardButtons”之后放置一个警报,我看到当警报打开时,所有复选框都被选中,但当我按下“ok”时,警报消失,所有复选框都被取消选中。你发布完整的html代码了吗?您也可以使用并在此处发布链接。在我的测试文件中,我无法使您的代码正常工作。我不理解此代码:selectedItems是什么?它是一组复选框,还是一个复选框?根据代码,如果它有一个长度属性,则切换其每个选中值-否则,设置其选中值。