Я пытаюсь выбрать элемент с текстом по умолчанию в раскрывающемся списке после загрузки всех данных JSON, однако он не работает. не уверен, что не так.
function populateSelect(json, element, defaulttext) {
$(element).find('option').remove().end().attr('disabled', false).append($('<option>').text(defaulttext).attr('value', ''));
$.each(json, function(i, value) {
$(element).append($('<option>').text(value).attr('value', value));
});
element.options[defaulttext].selected = true; <-- doesn't work
}
Вы не можете установить выбранное option
как у вас есть, вместо этого вам нужно установить значение select
function populateSelect(json, element, defaulttext) {
$(element).find('option').remove().end().attr('disabled', false).append($('<option>').text(defaulttext).attr('value', ''));
$.each(json, function(i, value) {
$(element).append($('<option>').text(value).attr('value', value));
});
element.value = defaulttext;
}
Поскольку вы используете jQuery, просто установите значение с помощью jQuery.
$(element).val(defaulttext);