Jaka jest najlepsza metoda dodawania opcji do <select>
obiektu JavaScript za pomocą jQuery?
Szukam czegoś, do czego nie potrzebuję wtyczki, ale chciałbym również zainteresować wtyczkami, które tam są.
Oto co zrobiłem:
selectValues = { "1": "test 1", "2": "test 2" };
for (key in selectValues) {
if (typeof (selectValues[key] == 'string') {
$('#mySelect').append('<option value="' + key + '">' + selectValues[key] + '</option>');
}
}
Czyste / proste rozwiązanie:
To jest oczyszczona i uproszczona wersja Matdumsa :
$.each(selectValues, function(key, value) {
$('#mySelect')
.append($('<option>', { value : key })
.text(value));
});
Zmiany w stosunku do matdumsa: (1) usunęła tag zamykający dla opcji wewnątrz append () i (2) przeniosła właściwości / atrybuty na mapę jako drugi parametr append ().
value
jest to ciąg (i zakodowany na stałe), który nie musi być cytowany.