Internet explorer – SELECT i innerHTML
Dynamiczna zmiana opcji select’a poprzez właściwość innerHTML jest dość wygodna. Jednak jak się niestety okazało na drodze do sukcesu znowu stanęły przeglądarki z rodziny Internet Explorer. Nie są w stanie obsłużyć właściwości innerHTML dla elementów SELECT. Rozwiązaniem może być mała funkcyjka :)
-
function setOptions(elem, options) {
-
elem.options.length = 0;
-
var i = 0;
-
var icount = options.length;
-
for (i = 0; i < icount; i++) {
-
elem.options[elem.options.length] = new Option(options[i][‚text’], options[i][‚value’]);
-
}
-
}
Pierwszym parametrem jest tutaj select, w którym chcemy zmienić listę opcji (pobrać go możemy chociażby poprzez document.getElementById).
Drugi parametr to tablica opcji. Każdy element tablicy jest obiektem składającym się z dwóch właściwości: text oraz value.
Tak więc po raz kolejny sprawdza się powiedzenie że nie ma drogi na skróty :/