Добавить параметры, чтобы выбрать раскрывающийся в IE - PullRequest
3 голосов
/ 14 мая 2009

Я пытаюсь добавить элементы в выпадающий список во время выполнения. Пока что он работает в Firefox и Opera, но, похоже, не работает в IE7 или 8.

Что должно произойти, так это то, что когда пользователь выбирает центр, то в раскрывающемся списке персонала появляется персонал в центре ...

//Clear out the all of the exisiting items
if (document.getElementById("ddlPersonnel").hasChildNodes) {
    while (document.getElementById("ddlPersonnel").childNodes.length > 0) {
        document.getElementById("ddlPersonnel").removeChild(document.getElementById("ddlPersonnel").firstChild);
    }
}

//Add the "Select Personnel" option
var FirstOpt = document.createElement('OPTION');
FirstOpt.value = "";
FirstOpt.innerText = "Select Personnel";
alert("blah1");
document.getElementById("ddlPersonnel").options.add(FirstOpt, null);    //It dies here with a "Type Mismatch" error
alert("blah2");

Он умирает на линии между двумя предупреждениями с ошибкой «Несоответствие типов».

Ответы [ 3 ]

6 голосов
/ 14 мая 2009

Используйте новый параметр вместо createElement.

var sel = document.getElementById("ddlPersonnel");
var opt = sel.options;
opt[opt.length] = new Option("Label","Value")

(это должно сработать, но я не проверял)

2 голосов
/ 25 марта 2014

Просто замените

document.getElementById("ddlPersonnel").options.add(FirstOpt, null);

по

document.getElementById("ddlPersonnel").add(FirstOpt);

Удаление ".options" и ", null" в функции add () поможет вам

0 голосов
/ 14 марта 2019

По моему опыту, если заменить append(), который является jQuery, чистым методом JavaScript appendChild(), мои элементы появились в окне выбора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...