Я хочу установить параметр, который был выбран ранее, чтобы отображаться при загрузке страницы. Я попробовал это с помощью следующего кода:
$("#gate").val('Gateway 2');
с
<select id="gate">
<option value='null'>- choose -</option>
<option value='gateway_1'>Gateway 1</option>
<option value='gateway_2'>Gateway 2</option>
</select>
Но это не работает. Любые идеи?
Ответы:
Это определенно должно работать. Вот демо . Убедитесь, что вы поместили свой код в
$(document).ready
:источник
'Gateway 2'
переданная функции функцияval
соответствует значениюvalue
атрибута опции выбора, а не его тексту. Посмотрите этот JSFiddle , который является слегка отредактированной версией демо Дарина, для примера того, что я имею в виду.источник
$('#gate').val('Gateway 2').prop('selected', true);
источник
$('#your-select-box-id :nth-child(2)').prop('selected', true)
что работает, с визуальным обновлением Drop-Box.Я обнаружил, что использование метода jQuery .val () имеет существенный недостаток.
Если это поле выбора (или любой другой входной объект) находится в форме, и в форме используется кнопка сброса, при нажатии кнопки сброса установленное значение будет очищено и не будет сброшено до начального значения, как вы ожидаете.
Кажется, это работает лучше для меня.
Для полей выбора
Для ввода текста
Для ввода текста
Для флажков
Для радио кнопок
источник
источник
Это отлично работает. Смотрите эту скрипку: http://jsfiddle.net/kveAL/
Возможно, вам нужно объявить свой jQuery в
$(document).ready()
обработчике?Кроме того, возможно, у вас есть два элемента с одинаковым идентификатором?
источник
Это был бы другой вариант:
источник
У меня такая же проблема.
Решение: добавить обновление.
источник
Я знаю, что есть несколько итераций ответов, но теперь это не требует jquery или какой-либо другой внешней библиотеки и может быть выполнено довольно просто с помощью следующего.
источник
Некоторые случаи могут быть
источник
Моя проблема
Я была такая же проблема . Единственное отличие от вашего кода состоит в том, что я загружал поле выбора через вызов ajax, и как только вызов ajax был выполнен, я установил значение по умолчанию для окна выбора.
Решение
источник
У меня была проблема, когда значение не было установлено из-за синтаксической ошибки перед вызовом.
Проверьте синтаксические ошибки перед вызовом.
источник
источник
источник
.attr()
был неправильный способ сделать это задолго до того, как этот ответ был опубликован.Дополнение к @icksde и @Korah (спасибо!)
При создании опций с помощью AJAX document.ready может быть запущен до построения списка, поэтому
Это не работает
Это делает
Тайм-аут работает, но, как говорит @icksde, он хрупкий (мне действительно нужно было 20 мс вместо 10 мс). Лучше поместить его в функцию AJAX следующим образом:
источник