Выберите <select> item по значению
У меня есть
<select id="x">
<option value="5">hi</option>
<option value="7">hi 2</option>
</select>
Мне нужна функция javascript, которая позволяет мне выбирать и отображать <option>
по умолчанию по id. Другими словами, я хочу сделать setOption(5)
и <option>
со значением "5", которое будет отображаться в поле со списком по умолчанию.
Возможно ли это?
Ответы
Ответ 1
Если вы можете, с ES6...
function setOption(selectElement, value) {
return [...selectElement.options].some((option, index) => {
if (option.value == value) {
selectElement.selectedIndex = index;
return true;
}
});
}
... в противном случае...
function setOption(selectElement, value) {
var options = selectElement.options;
for (var i = 0, optionsLength = options.length; i < optionsLength; i++) {
if (options[i].value == value) {
selectElement.selectedIndex = i;
return true;
}
}
return false;
}
setOption(document.getElementById('my-select'), 'b');
Посмотрите!
Если он возвращает false
, то это значение не может быть найдено:)
Ответ 2
Используя Javascript:
document.getElementById('drpSelectSourceLibrary').value = 'Seven';
Ответ 3
Если вы используете jQuery (1,6 или выше)
$('#x option[value="5"]').prop('selected', true)
Ответ 4
Если кто-то ищет решение jquery, используйте функцию val()
.
$("#select").val(valueToBeSelected);
В Javascript
document.getElementById("select").value = valueToBeSelected;
Ответ 5
Вам не нужно даже использовать javascript, просто используйте атрибут selected
:
<select id="x">
<option value="5" selected>hi</option>
<option value="7">hi 2</option>
</select>