Выберите параметры при загрузке страницы

У меня есть меню с несколькими вариантами выбора (я могу выбрать несколько элементов из списка, используя команду /shift/etc). Я хочу, чтобы все параметры были выбраны по умолчанию (при загрузке страницы). Я знаю, что я могу использовать

$(document).ready() 

ждать загрузки страницы для выполнения действия, но я не знаю, как на самом деле изменить выбранное состояние списка. Обратите внимание, что здесь нет флажков.

HTML-код для параметров выглядит следующим образом:

<select name="name" id="id1">
    <option value='value1'>
    <option value='value2'>
    <option value='value3'>
    <option value='value4'>
</select>

Примечание: я хочу, чтобы изменения были в javascript, а не в HTML, так как я использую шаблон "меню с множественным выбором" по умолчанию, который согласован для всех полей формы, и я хочу, чтобы только в одном конкретном поле все было выделено по умолчанию. Как я могу это сделать?

1 ответ

Решение

По умолчанию <select> Элемент настроен только на показ одной опции за раз. Таким образом, чтобы выбрать несколько элементов одновременно, вам нужно установить <select> элемента multiple приписывать true, Вы можете сделать это с помощью JavaScript следующим образом:

document.getElementById('id1').multiple = true;

Как только вы это сделаете, вы можете программно "выбрать" каждую опцию. Вот рабочий пример:

var el = document.getElementById('id1');

el.multiple = true;

for (var i = 0; i < el.childNodes.length; i++) {
  el.childNodes[i].selected = true;
}
<select name="name" id="id1">
    <option value='value1'>1</option>
    <option value='value2'>2</option>
    <option value='value3'>3</option>
    <option value='value4'>4</option>
</select>

Другие вопросы по тегам