У меня есть меню опций, как это:
<form name="AddAndEdit">
<select name="list" id="personlist">
<option value="11">Person1</option>
<option value="27">Person2</option>
<option value="17">Person3</option>
<option value="10">Person4</option>
<option value="7">Person5</option>
<option value="32">Person6</option>
<option value="18">Person7</option>
<option value="29">Person8</option>
<option value="28">Person9</option>
<option value="34">Person10</option>
<option value="12">Person11</option>
<option value="19">Person12</option>
</select>
</form>
И теперь я хочу изменить выбранную опцию, используя ссылку. Например:
<a href="javascript:void(0);"
onclick="document.getElementById('personlist').getElementsByTagName('option')[11].selected = 'selected';">change</a>
Но я хочу выбрать вариант value=11 (Person1)
, а не Person12
.
Как мне изменить этот код?
document.getElementById('personlist').value=id1,id2
не будет работать, как это сделать?.value = id1, id2
или.value = [array]
?var id = document.getElementById('personlist').value
. Я использовал в другом ответе, все равно спасибо!Инструменты как чистый код JavaScript для обработки Selectbox:
Графическое понимание:
Обновлено - 25 июня 2019 года | Скрипач ДЕМО
Код JavaScript:
источник
Я считаю, что пост в блоге JavaScript Beginners - может помочь вам выбрать опцию раскрывающегося списка по значению .
источник
break
выйти из цикла, как только вы нашли выбранное значение. Экономит время, если список длинный и целевое значение - одно из первых.Вы также можете изменить атрибут DOM select.options.selectedIndex следующим образом:
источник
Где
mySelect
находится поле выбора, иmyValue
какое значение вы хотите изменить.источник
Индекс массива будет начинаться с 0. Если вы хотите значение = 11 (Person1), вы получите его с позицией
getElementsByTagName('option')[10].selected
.источник
Вы также можете использовать JQuery
источник
document.querySelector('#personlist').value=10;
.Если вы добавляете опцию с помощью JavaScript
источник
Это старый пост, но если кто-то все еще ищет решение этой проблемы, вот что я придумал:
источник
Технически ваш собственный ответ не был неправильным, но вы ошиблись в индексе, поскольку индексы начинаются с 0, а не с 1. Поэтому вы ошиблись в выборе.
Кроме того, ваш ответ на самом деле хорош для случаев, когда теги не полностью английские или числовые.
Если они используют, например, азиатские символы, другие решения, предлагающие использовать .value (), могут не всегда работать и просто ничего не будут делать. Выбор по тегу - это хороший способ игнорировать фактический текст и выбирать по самому элементу.
источник