日期:2014-05-16  浏览次数:20416 次

checkbox一个很奇怪的现象
单击一个checkbox,全选其他所有的checkbox,再单击一次,取消全选。
            $("#selectAll").click(function () {

                if ($(this).is(":checked")) {
                    $(":checkbox").not($(this)).attr("checked", "checked");
                }
                else {
                    $(":checkbox").not($(this)).removeAttr("checked");
                }
            });
这段代码执行第一次的时候生效,但是第二次全选的时候就不生效了。求高人解答!

------解决方案--------------------
你把attr改成prop试试

如果prop可以的话,那导致这个的原因,可能是你的jquery的版本太低了。
换个新版本的jquery再试试。

我测试的话,attr和prop都没有问题的。

低版本的attr是有些问题的,请查看:http://api.jquery.com/attr/

我这边并没有测试出,你说的问题,所以你就先改一下试试吧。