Установка выбранного значения с помощью javascript не работает. Я знаю, что selected() добавляет класс single_examplechzn_o_0 в <li>
, который не имеет ничего общего со значением опции, и что #single_example больше не существует после selected(). Есть ли способ, которым это может работать?
Это работает:
```
$("#single_example").val(2);
``````
Это не работает:
```
``````
$("#single_example").val(2);
Попробуйте мою ветку (https://github.com/tompaton/chosen), она может исправить это для вас.
К сожалению, это не работает для меня.
Вам нужно вручную инициировать событие изменения (насколько я знаю, это невозможно обойти, что раздражает...):
$("#single_example").val(2).trigger("change");
Спасибо, это работает отлично!
Я сделал пример, который вам показывают с ошибкой, но когда я делаю $("#single_example").val(2).trigger("change");
, у меня нет никаких изменений в списке (выбранное значение).
Я использую последнюю версию плагина.
Приветствует
Вам нужно будет использовать https://github.com/tompaton/chosen , он не был объединен с веткой урожаяhq.
Да, это работает как шарм после использования ветки томпатона.
$("#single_example1").val(2);
$("#single_example2").val(3)
...
$("#single_example3").val(20);
$('.chosen').trigger('change');
Привет, ребята, я скачал форк tompaton (https://github.com/tompaton/chosen). Я сделал:
$("#single_example").val(2).trigger("change");
Это работает как шарм
Спс за совет :-)
Я пытаюсь написать функцию очистки всех, и это, похоже, не работает, даже с использованием ветки tompaton:
$(".state_list").val("").trigger("change");
У меня есть пустой вариант:
```
Is there a way to totally remove all selections? Also how about selecting all?
Извините, мой патч не касается полей множественного выбора, для этого потребуется
еще немного кода...
Пт, 12 августа 2011 г., 1:50, MB34
ответ@reply.github.com
написал:
Я пытаюсь написать функцию очистки всех, и это, похоже, не работает, даже с использованием ветки tompaton:
$(".state_list").val("").trigger("change");У меня есть пустой вариант:
Есть ли способ полностью удалить все выделения? Также как насчет выбора всех?
Ответьте на это письмо напрямую или просмотрите его на GitHub:
https://github.com/harvesthq/chosen/issues/31#issuecomment-1782941
Так есть ли способ сделать это без исправления плагина?
Итак, очистка всех вариантов из множественного выбора возможна без исправления, если вы хотите заблокировать себя в том, как работает внутренность выбранного:
// replace {select_id} below with the id of your <select> tag
$('#{select_id}_chzn .chzn-choices .search-choice a').click();
Это будет имитировать нажатие кнопки удаления «x» на каждом выбранном элементе в множественном выборе.
Также возможен выбор всех параметров (путем имитации выбора всех доступных параметров в раскрывающемся списке):
$('#{select_id}_chzn .chzn-drop li').click();
Они действительно должны быть добавлены как методы к выбранному плагину.
Хорошо, чтобы прояснить все это:
@pfiller указал, что все это возможно в ветке урожая/выбранного, используя:
$("#single_example").val(2).trigger("liszt:updated");
Плохо, что недостаточно внимательно прочитал код/документацию. Это будет работать правильно и для нескольких полей выбора.
Очистка всех параметров из множественного выбора может быть выполнена с помощью:
$('#{select_id}').val([]).trigger('liszt:updated');
Я думаю, что мой предыдущий комментарий по-прежнему является единственным способом выбрать все параметры.
_Обратите внимание_, что моя вилка теперь такая же, как и yieldhq/chosen в отношении этого, так что просто используйте ее и игнорируйте .trigger('change')
.
Для тех из вас, кто может использовать адаптер Prototype, вы можете сделать то же самое следующим образом:
$(select_box_id).select('option[selected]').each(function(el){el.selected = false});
Event.fire($(select_box_id), 'liszt:updated')
Немного коряво, но работает. Если есть лучший способ сделать это, Лемми знает
Решение, которое я использую, состоит в том, чтобы изменить выбранный параметр в исходном исходном выборе, а затем перестроить Chosen.
select.val(value);
select.chosen('destroy');
select.chosen({});
@roelvanduijnhoven решение, данное в комментарии @tompaton (или предоставленное @RyanS для версии Prototype), лучше, поскольку оно обновляет существующий выбранный элемент, а не уничтожает его и создает новый
По какой-то причине решение @tompaton в моем случае не сработало. Но особо не старался, может что-то не так сделал.
@roelvanduijnhoven Если вы используете версию 1.0, событие теперь chosen:updated
Спасибо @stof , это помогло.
Просто для справки, динамическое изменение значения с помощью jQuery:
$("#single_example").val(2).trigger('chosen:updated');
И для справки это задокументировано: http://harvesthq.github.io/chosen/#change -update-events
Извините, @roelvanduijnhoven , мой комментарий предназначался для другой проблемы, теперь я его удалил. (gmail сгруппировал электронные письма, и я отправил комментарий, ответив)
Большое спасибо! Эта тема спасла мой день!
Наконец-то у меня есть множественный выбор со значениями по умолчанию :)
Привет, я новичок в jquery и только что скачал файл selected. Я немного смущен тем, как установить/получить несколько значений в выбранном.
то, что я пытаюсь сделать, это динамически создавать параметр при загрузке страницы, а затем нужно выбрать значения по умолчанию
Спасибо
Гури
gpdhillion:
использовать этот
$('.chosen-select').val([1,2,3]).trigger('chosen:updated');
$("#id").val(id_value);
$("#id").chosen('уничтожить');
$("#id").выбран({});
Самый полезный комментарий
Спасибо @stof , это помогло.
Просто для справки, динамическое изменение значения с помощью jQuery: