+ -
当前位置:首页 → 问答吧 → 請教toggle 函數錯誤

請教toggle 函數錯誤

时间:2009-04-07

来源:互联网

all,
我在頁面上想用一個全選的checkbox
比如有一個id=chkAll的checkbox, 我點下它就全選name為chkA的checkbox.
但我點了下chkAll後成功選擇所有的chkA, 但chkAll本身沒選中, 不知道為什麼?我的代碼為
$("#chkAll").toggle(
    function(){
        $("input[@name=chkA]").attr("checked", true);
    },
        $("input[@name=chkA]").attr("checked", false);
);

作者: lonely203   发布时间: 2009-04-07

是不是不能用在checkbox上面?

作者: Lion5859   发布时间: 2009-04-07

應該不會有這種bug吧,大家沒有遇到過嗎? 有的請幫忙下:)

作者: lonely203   发布时间: 2009-04-07

$("#chkAll").toggle(
    function(){
        $("input[name^='chkA']").attr("checked", true);
    },
        $("input[name^='chkA']").attr("checked", false);
);
[ 此帖被seekarmor在2009-04-07 23:00重新编辑 ]

作者: seekarmor   发布时间: 2009-04-07

确实有这个问题,没找到原因,换种方式吧
$("#chkAll").click(
    function(){
        $("input[name='chkA']").attr("checked",function(){return !this.checked;});
    }
);

作者: pigmaster   发布时间: 2009-04-07

选不上是因为toggle方法中阻止了缺省动作
jquery原码中toggle在注册click时调用了event.preventDefault();
阻止了默认的动作

作者: pigmaster   发布时间: 2009-04-07

原来如此。。。如楼上所说,如果硬要用toggle函数,应该如何实现?

作者: Lion5859   发布时间: 2009-04-08

同問, 那有沒有好的解決辦法?

作者: lonely203   发布时间: 2009-04-10

以前就发现给A加个TOGGLE后,本身的链接就会失效,应该是同个问题

作者: bigjames   发布时间: 2009-04-13

$("#chkAll").toggle(
    function(){
        $("input[@name=chkA]").attr("checked", true);
    },
function(){
        $("input[@name=chkA]").attr("checked", false);
}
);
试试这样!!!!!!

作者: kittoy314   发布时间: 2009-04-13