Подтвердить что ты не робот

Выберите <select> item по значению

У меня есть

<select id="x">
    <option value="5">hi</option>
    <option value="7">hi 2</option>
</select>

Мне нужна функция javascript, которая позволяет мне выбирать и отображать <option> по умолчанию по id. Другими словами, я хочу сделать setOption(5) и <option> со значением "5", которое будет отображаться в поле со списком по умолчанию.

Возможно ли это?

4b9b3361

Ответ 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>