取消选中所有复选框只能使用jquery工作一次

时间:2011-11-04 21:35:39

标签: jquery checkbox loops uncheck

我有一个非常有趣的问题。我试图取消选中我页面上的所有复选框。所有复选框的ID都以“chkbx _”开头。

我试过这样做:

$('input[id^="chkbx_"]').removeAttr("checked");

和此:

$('input[id^="chkbx_"]').attr("checked", false);

它只工作一次!!第二次,它似乎被忽略了。

基本上,我试图使复选框表现得像单选按钮。当我检查一个我运行的函数接收这个(参考)作为参数,我首先取消选中所有复选框,然后我检查一个被点击的。

我还试图使用它来浏览所有复选框以查看它们是否已被选中:

$('input[id^="chkbx_"]').each(function () { ... });

即使有4个复选框,上面的循环只执行一次,对于页面上的第一个复选框。

有什么问题?感谢

2 个答案:

答案 0 :(得分:1)

其他一切都必须是错误的。

草拟这个例子: http://jsfiddle.net/nzmv8/

工作正常吗? :)

答案 1 :(得分:0)

使用prop而不是attr

  • $('input [id ^ =“chkbx _”]')。prop(“checked”,false);

  • $('input [id ^ =“chkbx _”]')。prop(“checked”,true);