выберите <select>элемент по значению - PullRequest
12 голосов
/ 01 декабря 2010

у меня

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

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

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

Ответы [ 5 ]

17 голосов
/ 01 декабря 2010

Если можете, с 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, значение не может быть найдено:)

3 голосов
/ 25 мая 2016

Использование Javascript:

document.getElementById('drpSelectSourceLibrary').value = 'Seven';
2 голосов
/ 17 января 2018

Если кто-то ищет решение jquery, используйте функцию val().

$("#select").val(valueToBeSelected);

В Javascript,

document.getElementById("select").value = valueToBeSelected; 
2 голосов
/ 19 июля 2013

Если вы используете jQuery (1.6 или выше)

$('#x option[value="5"]').prop('selected', true)
0 голосов
/ 01 декабря 2010

Вам не нужен даже javascript для участия, просто используйте атрибут selected:

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