Javascript: Ändern Sie hintergrund-Farbe auf das Kontrollkästchen

Ich versuche, ändern Sie die Hintergrundfarbe eines label in jeder checkbox in einem Formular basierend auf den checked/unchecked-Zustand der checkbox.So weit habe ich es zu ändern zunächst, aber es wird sich nicht ändern wieder, wenn ich deaktivieren:

http://jsfiddle.net/7wnCL/4/

javascript:

function statecheck(layer) {
var myLayer = document.getElementById(layer);
 if(myLayer.checked = true){
 myLayer.style.backgroundColor = "#bff0a1";
 } else {
 myLayer.style.backgroundColor = "#eee";
 };
}

html:

<form action="" method="get">
<label title="Alabama" id="Alabama"><input type="checkbox" value="checkbox" onchange="statecheck('Alabama')" />AL</label>
<label title="Alaska" id="Alaska"><input type="checkbox" value="checkbox" onchange="statecheck('Alaska')" />AK</label>
<label title="American Samoa" id="AmericanSamoa"><input type="checkbox" value="checkbox" onchange="statecheck('AmericanSamoa')" />AS</label>
</form>

css:

label {
margin:0px 2px 4px 2px; 
padding: 1px;
background-color: #eee;
display: block;
width: 50px;
}
myLayer.checked === true
Zwar gibt es andere syntaktische Fehler, es wird nicht funktionieren, vor allem, weil Sie überprüft haben, wenn Ihr label ist geprüft, nicht der input.
Ich habe gerade festgestellt, dass (=== statt =), aber es funktioniert immer noch nicht
gibt es eine Möglichkeit zu überprüfen, ob das Kind (die checkbox) aktiviert ist?
Schauen Sie sich meine Antwort...

InformationsquelleAutor user2219915 | 2013-05-21

Schreibe einen Kommentar