Javascript 单击“全选”后,如何取消选中以前选中的其他选定列表项?
我有这些代码,允许我在选中“全选”时禁用所有其他复选框。但是,如果我以前在选中“全选”之前选中了其他复选框,则以前选中的复选框不会被删除,而是仅在复选框仍处于选中状态时禁用。那么,在单击全选后,如何取消选中以前选中的其他选定列表项呢Javascript 单击“全选”后,如何取消选中以前选中的其他选定列表项?,javascript,c#,sql,asp.net,c#-4.0,Javascript,C#,Sql,Asp.net,C# 4.0,我有这些代码,允许我在选中“全选”时禁用所有其他复选框。但是,如果我以前在选中“全选”之前选中了其他复选框,则以前选中的复选框不会被删除,而是仅在复选框仍处于选中状态时禁用。那么,在单击全选后,如何取消选中以前选中的其他选定列表项呢 <asp:CheckBoxList ID="Checkboxlist1" runat="server" Height="80px" Width="500px" AppendDataBoundItems="True" ViewStateMode="Enabled
<asp:CheckBoxList ID="Checkboxlist1" runat="server" Height="80px" Width="500px" AppendDataBoundItems="True" ViewStateMode="Enabled">
<asp:ListItem Text="Select All" Value="Select All"></asp:ListItem>
</asp:CheckBoxList>
$(function () {
$("#Checkboxlist :checkbox").change(function () {
$("#Checkboxlist :checkbox").click(function () {
var ischecked = $(this).is(":checked");
var val = $(this).val();
//alert(val);
if (val == "Select All") {
if (ischecked) {
$("#Checkboxlist :checkbox").attr('disabled', 'disabled');
$(this).removeAttr('disabled');
$(this).attr('checked', true)
return;
} else {
$("#Checkboxlist :checkbox").removeAttr('disabled');
return;
}
}
});
});
})
在else中,在返回之前,只需从全选中删除禁用项:
或
只需编辑选择器,使其不具有值为“全选”的复选框:
代码:
您可以使用Jquery not函数并将其作为参数传递,例如$Checkboxlist1:checkbox.notthis.removeAttrIsabled;你好感谢您的帮助,但似乎还有另一个问题,当我选中“全选”时,它会启用其他检查列表项;当我取消选中它时,它会禁用其他列表项,这些不应以这种方式出现,但在另一个问题中,当我选中“全选”时,它会禁用其余的复选框;当我取消选中它时,它会启用其余的检查列表项列表项。请注意,实际上您的代码逻辑是颠倒的,您只需将if块的代码放入else块,另外,将代码阻塞到if块中。嗨,我确实尝试过,但当我在检查后执行此操作时,它不再显示勾号,并且在第一次检查后检查不起作用。嗨,我已将代码更新为最新代码,但我确实意识到有一些错误需要修复。现在,当我选择all时,它会禁用rest,但是当我选中一些其他列表项并选中select all时,它会禁用rest,但不会取消选中其他列表项。在选中全选时,如何同时禁用和取消选中其他列表项?您已经在else块中执行了此操作,这里是$Checkboxlist1:checkbox.attr'checked',false;。同时检查更新的答案。
$(this).removeAttr("disabled");
$("#Checkboxlist1:checkbox[value='Select All']")
if (val == "Select All") {
//if Select All is checked, disable all other checkboxes and uncheck them as well
if (ischecked) {
$("#Checkboxlist1:checkbox").attr("disabled", "disabled"); //disable all checkboxes
$("#Checkboxlist1:checkbox").prop('checked', false); //uncheck all checkboxes
$(this).prop('checked', true); //check the "Select All" checkbox
return;
}
//enable all other checkboxes and uncheck them too
else {
$("#Checkboxlist1:checkbox").removeAttr("disabled"); //enable all checkboxes
$("#Checkboxlist1:checkbox").prop('checked', false); //uncheck all checkboxes
$(this).prop('checked', false); //uncheck the "Select All" checkbox
return;
}
}