Utilizzando core jQuery, come rimuovere tutte le opzioni di una casella di selezione, quindi aggiungere un'opzione e selezionarla?
La mia casella di selezione è la seguente.
<Select id="mySelect" size="9"> </Select>
EDIT: il seguente codice è stato utile con il concatenamento. Tuttavia, (in Internet Explorer) .val('whatever')
non ha selezionato l'opzione che è stata aggiunta. (Ho usato lo stesso 'valore' in entrambi .append
e .val
.)
$('#mySelect').find('option').remove().end()
.append('<option value="whatever">text</option>').val('whatever');
EDIT: Cercando di farlo imitare questo codice, utilizzo il seguente codice ogni volta che la pagina / modulo viene ripristinato. Questa casella di selezione è popolata da una serie di pulsanti di opzione. .focus()
era più vicino, ma l'opzione non sembrava selezionata come fa con .selected= "true"
. Non c'è niente di sbagliato nel mio codice esistente: sto solo cercando di imparare jQuery.
var mySelect = document.getElementById('mySelect');
mySelect.options.length = 0;
mySelect.options[0] = new Option ("Foo (only choice)", "Foo");
mySelect.options[0].selected="true";
EDIT: la risposta selezionata era vicina a ciò di cui avevo bisogno. Questo ha funzionato per me:
$('#mySelect').children().remove().end()
.append('<option selected value="whatever">text</option>') ;
Ma entrambe le risposte mi hanno portato alla mia soluzione finale ..