2016-05-25 22 views
1

Ich habe drei CheckBoxen wie unten und mein Problem ist, dass, wenn ich das untere Kontrollkästchen (cbOnlyUK) aktiviert habe, kann ich es dann nicht deaktivieren. Ich bin mir nicht sicher, warum dies der Fall ist oder wie man es löst, damit jede Hilfe geschätzt wird.Warum kann ich meine CheckBox nicht deaktivieren?

<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 hat folgende Javascript-Code zu ihm angebracht:

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; 
    } 
} 

Dank.

--- EDIT ---

Wie durch ein paar wies darauf hin, das Problem war die erste Zeile der Funktion, die sein sollte:

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

ok Du meinst, du es nicht mit JavaScript deaktivieren kann oder Sie kann ich das überhaupt nicht abwählen? – dimlucas

+2

Ändern Sie zunächst 'if (document.getElementById (" <% = cbOnlyUK.ClientID%> ". Checked = true)' to 'if (document.getElementById (" <% = cbOnlyUK.ClientID%> "). checked == true) 'weil die if-Anweisung das Kontrollkästchen überprüft und NICHT, wenn es wahr ist –

+0

Ich kann es überhaupt nicht abwählen. Wenn ich es einmal anklicke, wird es überprüft. Wenn ich es erneut anklicke, tut es nichts, d. H. Es bleibt geprüft – Johnathan

Antwort

2

Auf Ihrer Funktion „onlyUK“ Sie haben aa Typo

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

Da Sie = statt == verwenden, werden Sie den wahren Wert anwenden, anstatt sie zu vergleichen. Dies sollte

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

Es ist, weil in der if-Anweisung, die Sie brauchen es wie dieses

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

Statt

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