Frage

Ich deaktiviere Gruppen von Optionsfeldern, wenn ein Benutzer auf ein Kontrollkästchen klickt, nur mit RAW JavaScript und der Deaktivierten Eigenschaft.

Meine Funktion ist trivial:

function toggleEnabled(elementId) {
  e = document.getElementById(elementId)
  e.disabled = !e.disabled;
}

und es wird mit dem Onclick -Ereignis wie Onclick = "ToggleEnabled ('radio_div') aufgerufen" "

Es funktioniert großartig, aber wenn der Benutzer zurückklickt, scheint sich der Browser an den Status des Kontrollkästchens zu erinnern, setzt jedoch den Status der Komponenten im Div auf das, was sie ursprünglich waren, zurück.

Dies ist in IE7, und ich möchte jetzt keine JS -Bibliothek verwenden, also bitte keine Vorschläge in diesem Effekt.

Mache ich etwas falsch? Gibt es eine Lösung, um das beabsichtigte Verhalten zu erhalten (erinnern Sie sich an den Status sowohl des Kontrollkästchen als auch des DIV)?

War es hilfreich?

Lösung

Sie müssen jeden Radierkastenwert innerhalb Ihrer Onload -Methode überprüfen:

var selects = document.getElementByTagName("select");
for ( var i = 0 ; i < selects.length ; i ++ )
{
    //call your code if an option is checked
    if ( selects.options[selects.selectedIndex] )
    { 
        var selectedOption = selects.options[selects.selectedIndex];
        //now you got your option and can enable the div.
        toggleEnabled('radio_div');// <-- change this depending on selectedOption
    }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top