2011-09-06 100 views
0

我有多个复选框,第一个复选框的值是全选。我的jQuery代码是复选框选择所有切换功能

$(".checkboxFilter input:checkbox:first").change().toggle(function() { 
     alert("inside first toggle"); 
     $(".checkboxFilter").find(':checkbox').prop("checked", true); 
    }, function() { 
     alert("inside second toggle"); 
     $(".checkboxFilter").find(':checkbox').prop("checked", false); 
    }); 

的问题是,当我渲染页面,默认情况下,选择所有按钮被选中,但没有其他的选项被选中。当我再次点击选择所有复选框时,它会选择所有,当我单击全选按钮时,它会取消选择全部,但全选按钮仍然保持选中状态。任何人都可以帮我

回答

3

请勿使用toggle,只需change即可使用。看看这个

工作demo

$(".checkboxFilter input:checkbox:first").change(function() { 
     $(".checkboxFilter").find(':checkbox').prop("checked", this.checked); 
}); 
+0

@SreePrasad - 看看这个工作演示。 – ShankarSangoli

+0

工作!谢谢。自从早上被卡住了( – sreeprasad

+0

)你能解释一下,当我单击“全选”(即第一个复选框)时,它是如何删除选中的按钮的吗? – sreeprasad

0

你应该设置“全选”的默认状态为未勾选或全部勾选。

+0

我增加了一个复选框“全部不选”,并如愿以偿的要求。我试图让选择全部未选中或在开始时检查,但同样的错误出现了。 – sreeprasad