Надежный способ очистки опций из <select>
:
while( select_control.length > 0 )
select_control.options[0] = null
Некоторые браузеры очищают список, если вы делаете select_control.length = 0
, но я считаю это ненадежным.
Опциональный способ вставки:
var new_option = new Option(text, value)
try {
select_control.add(new_option, select_control.options[0])
} catch(e) {
select_control.add(new_option, 0)
}
0
- это индекс предмета, который вы хотите получить раньше. Чтобы добавить его в конец, сделайте это вместо:
select_control.options[select_control.length] = new_option
Это также будет работать, если вы хотите заменить конкретный элемент, указав индекс существующей опции.