为什么我不能取消选中我的CheckBox?

时间:2016-05-25 12:20:30

标签: javascript checkbox

我有三个CheckBoxes如下所示,我的问题是,一旦我检查了底部复选框(cbOnlyUK),我就不能取消选中它。我不确定为什么会这样,或者如何解决它,所以任何帮助都表示赞赏。

<input type="checkbox" runat="server" id="cbNonUK"/>Non-UK<br />
<input type="checkbox" runat="server" id="cbNonEU"/>Non-EU<br />
<input type="checkbox" runat="server" id="cbOnlyUK" onchange="onlyUK()"/>UK Only

cbOnlyUK附加了以下Javascript代码:

function onlyUK() { 
    if (document.getElementById("<%= cbOnlyUK.ClientID %>").checked = true)
    {
        document.getElementById("<%= cbNonUK.ClientID %>").checked = false;
        document.getElementById("<%= cbNonEU.ClientID %>").checked = false;
        document.getElementById("<%= cbOnlyEU.ClientID %>").checked = false;
    }
}

感谢。

---编辑---

正如少数人所指出的,问题是该功能的第一行应该是:

if (document.getElementById("<%= cbOnlyUK.ClientID %>").checked == true)

2 个答案:

答案 0 :(得分:2)

关于你的功能&#34; onlyUK&#34;你有一个错字

if (document.getElementById("<%= cbOnlyUK.ClientID %>").checked = true)

由于您使用=代替==,因此您应用真实值而不是比较它。这应该没问题

if (document.getElementById("<%= cbOnlyUK.ClientID %>").checked == true)

答案 1 :(得分:1)

这是因为在你的if语句中,你需要它像这样

 if (document.getElementById("<%= cbOnlyUK.ClientID %>").checked == true)

而不是

if (document.getElementById("<%= cbOnlyUK.ClientID %>").checked = true)