Domanda

Sono disattivazione gruppi di pulsanti di opzione, quando un utente fa clic una casella di controllo, usando solo RAW javascript e la proprietà disabilitata.

La mia funzione è banale:

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

e si chiama con l'evento onClick come onClick = "toggleEnabled ( 'radio_div')"

E le grandi opere, ma se l'utente fa clic di nuovo, il browser sembra ricordare lo stato della casella di controllo, ma ripristina lo stato dei componenti nel div a quello che in origine erano.

Questo è in IE7, e io non voglio utilizzare una libreria JS in questo momento quindi per favore nessun suggerimento in tal senso.

Sto facendo qualcosa di sbagliato? C'è una soluzione per ottenere il comportamento previsto (ricordate lo stato sia della casella di controllo e il div sul retro)?

È stato utile?

Soluzione

Si controlla ogni valore radio box all'interno del vostro metodo di onload:

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
    }
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top