#jquery #jquery-ui #jquery-autocomplete
#jquery #jquery-пользовательский интерфейс #jquery-автозаполнение
Вопрос:
Мы используем выпадающее список автозаполнения для проекта и определяем список выбора с параметрами, добавляемыми из вызова api. Я добавляю первый вариант ‘all’, к которому я также добавляю выбранный атрибут, но поле со списком не распознает это, и после его загрузки в поле отображается ‘All’. Я также пытался установить значение val для combobox равным значению ‘All’ после того, как оно было привязано, но у меня не было никакой радости. Как я могу выбрать значение по умолчанию?
Ответ №1:
Я думаю, вы должны иметь возможность просто установить один из <option>
элементов как выбранный обычным способом:
<option value="x" selected="selected">Stuff</option>
Вам нужно сделать это перед привязкой combobox к <select>
. Если вы посмотрите на исходный код для combobox, вы увидите это:
var self = this,
select = this.element.hide(),
selected = select.children( ":selected" ),
value = selected.val() ? selected.text() : "";
var input = this.input = $( "<input>" )
.insertAfter( select )
.val( value )
/* ... */
Он ищет выбранные дочерние элементы и устанавливает значение текстового ввода в то, что он находит с пустой строкой в качестве запасного варианта. Значение по умолчанию «выберите первый элемент», который использует <select>
элемент, здесь не используется, хотя вы должны явно пометить его <option>
как выбранный, иначе :selected
селектор не будет, гм, выбирать его.