PHP/JavaScript 检查/取消检查在 FF 中工作,但在 IE 中不起作用


PHP/JavaScript check/uncheck working in FF but not working in IE

我陷入了一个简单的功能,它似乎不适用于不同的浏览器。

我需要有一个复选框(主复选框),具有选中/取消选中其他复选框(子复选框)的功能。单击主复选框时,必须将其自己的状态传输到其他复选框列表中。例如:如果未选中主复选框并被单击(因此处于选中状态),则所有子复选框也应被选中。

下面的代码在 Firefox 13.0.1 中效果很好,但在 Internet Explorer 9 中则不然。

下面的所有代码都在同一个文件中:

JavaScript

<script type="text/javascript">
    function toggle(source) {   
        checkboxes = document.getElementsByName('cb[]');
        for each(var checkbox in checkboxes)
            checkbox.checked = checkbox.checked == true ? false : true;
    }
</script>
单击以选中

和取消选中的复选框

<td width="3%"><input name="cb_all" type="checkbox" id="cb_all" onClick="toggle(this)"></td>

单行

<td><input name="cb[]" type="checkbox" value="<?php echo $user->id;?>" id="cb[]"></td>

我愿意相信解决方案应该是一个简单的解决方案,但是在花了半天的搜索之后,得到一些帮助会非常好。你能帮我这个吗?

这是因为Internet Explorer没有一个名为getElementsByName的方法。解决方法是使用getElementsByTagName并检查每个,您可以在 http://webbugtrack.blogspot.com/2007/08/bug-411-getelementsbyname-not-work中获取更多信息.html

相关文章: