2011-09-06 99 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