Мы используем поле со списком автозаполнения для проекта и определяем список выбора с параметрами, добавленными из вызов апи. Я добавляю первый вариант «все», в который я также добавляю выбранный атрибут, но поле со списком не подбирает это и показывает «Все» в поле после его загрузки. Я также пытался установить для поля со списком значение «Все» после того, как оно было привязано, но у меня не было радости. Как выбрать значение по умолчанию?

1
lloydphillips 14 Апр 2011 в 08:05

1 ответ

Я думаю, вы должны иметь возможность просто установить один из элементов <option> как выбранный обычным способом:

<option value="x" selected="selected">Stuff</option>

Это необходимо сделать перед привязкой поля со списком к <select>. Если вы посмотрите на исходный код поля со списком, вы увидите следующее:

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 не будет, гм, выбирать Это.

0
mu is too short 14 Апр 2011 в 08:55