我在網上看到的大多數例子都有一個片段,他們使用2個複選框,其中一個僅用於一個複選框(全部),另一個用於複選框列表。在myy的情況下,我只有一個checkboxlist綁定到數據源,例如我的數據源列表選項是(全部,蘋果,橙色,紅色,藍色),我得到了大部分的工作,除非一切都未選中,我檢查最後一個項目,例如藍色它會檢查ALL選項。所以不能正常工作。 id是「所有」項目列表中的檢查/ uncehck checkboxlist與jquery
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
var id = "#<%=cbOptions.ClientID %>_0";
var checkboxlistid = "#<%= cbOptions.ClientID %>";
$(id).click(function() {
$("#<%= cbOptions.ClientID %> input:checkbox").attr('checked', this.checked);
});
$(checkboxlistid + " input:checkbox").click(function() {
if ($(checkboxlistid).attr('value') != 0) {
if ($(id).attr('checked') == true && this.checked == false) {
$(id).attr('checked', false);
}
else {
if ($(id).attr('checked') == true && this.checked == true)
CheckSelectAll();
}
}
});
function CheckSelectAll() {
var flag = true;
$(checkboxlistid + " input:checkbox").each(function() {
if ($(checkboxlistid).attr('value') != 0) {
if (this.checked == false) {
flag = false;
}
else {
if ($(id).attr('checked') == true && this.checked == false) {
flag = false;
}
else {
flag = true;
}
}
}
});
$(id).attr('checked', flag);
}
});
</script>
<asp:CheckBoxList runat="server" ID="cbOptions" >
</asp:CheckBoxList>
</asp:Content>
提供有關其他腳本一些更多的信息和標記你。我創建了一個asp.net v2.0網站並複製了所有的腳本和標記,並手動添加了listItems到CheckBoxList,藍色只檢查藍色,只檢查所有檢查 – XGreen 2011-05-29 15:31:36
您可以提供純html/js代碼嗎? – Niklas 2011-05-29 15:33:34
在你的html中必須有'id'衝突;並谷歌這個''選中/取消選中所有通過jQuery複選框「'你會得到很多結果。 ALL D BEST – diEcho 2011-05-29 15:45:15