Предполагается 4 способа назначения новых опций для элемента select. Некоторые работают в некоторых сценариях, а другие работают в других. Смотрите здесь - Как добавить параметры в
Для меня решение Robusto не сработало по трем причинам:
1) sel
переменной в первой строке присваивается document.getElementById('city_select').options.length = 0;
вместо простого удержания элемента select (для последующего использования в 4-й и 5-й строке) и последующего удаления параметров в следующей строке, например:
var sel = document.getElementById('city_select');
sel.options.length = 0;
2) 4-я строка sel.options.push(opt)
(или более поздняя версия sel.options[0] = opt
) выбрасывает Объект не поддерживает это свойство или метод Ошибка. Вместо этого используйте это:
sel.appendChild(opt);
3) Помимо присвоения значений опциям, вы также должны назначить текст для отображения. Вы делаете это так:
opt.innerText = "Select Your City - displayed";
Поэтому, чтобы подвести итог всего куска:
var sel = document.getElementById('city_select');
sel.options.length = 0;
var opt = document.createElement('option');
opt.value = "Select Your City";
opt.innerText = "Select Your City - displayed";
sel.appendChild(opt);
sel.selectedIndex = 0;