如何在匹配多个||时取消选中复选框在声明中?

时间:2017-03-28 18:14:42

标签: javascript jquery asp.net

我有一个下拉列表,它会根据下拉列表的值选择复选框。它工作正常,但我无法弄清楚当值不匹配时我想要取消选中复选框。

例如,如果我选择A,则选择CheckBox2和CheckBox4是正确的。现在当我选择“选择一个字母”时,即使值9不等于1或2或3,仍然选中CheckBox2和CheckBox4。

现在,如果我选择C,则选择CheckBox1,CheckBox2和CheckBox3,如果我选择C以外的任何其他内容,则取消选中CheckBox1,这就是我想要的。当我使用||时似乎存在问题在一份声明中不止一次。

JS:

 <script>
 function setCheckBox1(value) {
       var chk1 = document.getElementById("<%=CheckBox1.ClientID %>");
       var chk2 = document.getElementById("<%=CheckBox2.ClientID %>");
       var chk3 = document.getElementById("<%=CheckBox3.ClientID %>");
       var chk4 = document.getElementById("<%=CheckBox4.ClientID %>");
       var chk5 = document.getElementById("<%=CheckBox5.ClientID %>");
  chk1.checked = (value == '3');
  chk2.checked = (value == '1' || '2' || '3');
  chk3.checked = (value == '0');
  chk4.checked = (value == '1' || '2' || '3');
  chk5.checked = (value == '0');
}
</script>

ASP.NET

<asp:DropDownList ID="DropDownList4" runat="server" onchange="setCheckBox1(this.value);">
<asp:ListItem Value="0">Choose Letter</asp:ListItem>
<asp:ListItem Value="1">A</asp:ListItem>
<asp:ListItem Value="2">B/<asp:ListItem>
<asp:ListItem Value="3">C</asp:ListItem>
<asp:ListItem Value="4">D</asp:ListItem>
<asp:ListItem Value="5">E</asp:ListItem>
<asp:ListItem Value="6">F</asp:ListItem>
<asp:ListItem Value="7">G</asp:ListItem>
<asp:ListItem Value="8">H</asp:ListItem>
</asp:DropDownList>

<asp:CheckBox ID="CheckBox1" runat="server" />
<asp:CheckBox ID="CheckBox2" runat="server" />
<asp:CheckBox ID="CheckBox3" runat="server" />
<asp:CheckBox ID="CheckBox4" runat="server" />
<asp:CheckBox ID="CheckBox5" runat="server" />

0 个答案:

没有答案