В Rails у меня есть форма на моей странице «Блюдо», в которой есть поле Chosen с множественным выбором под названием Side. Тарелки.
Я бы хотел, чтобы параметры поля «Выбранные гарниры» автоматически обновлялись (без перезагрузки страницы), если пользователь добавил еще один гарнир из другого окна браузера.
Я просмотрел Динамическое обновление выбранного с веб-сайта Chosen, но не Не знаю, ищу ли я это и / или правильно ли я это понимаю.
В настоящее время мой dishes.js.coffee
выглядит так:
jQuery ->
$(".chzn-side-dish").chosen()
$(".chzn-side-dish").trigger "liszt:updated"
Но очевидно, что это не помогает. Насколько я понимаю, .trigger
будет периодически обновлять список гарниров и подбирать любые новые добавления (или удаления) из таблицы гарниров.
И форма на странице "Блюдо" следует этому соглашению:
= form_for @dish, :html => { :class => "form-horizontal" } do |f|
...
%fieldset
.control-group
=f.label :side_dish_ids, "Side Dish(es)", :class => 'control-label'
.controls
=f.collection_select :side_dish_ids, SideDish.order(:name), :id, :name, {}, {multiple: true, :class => 'chzn-side-dish'}
PS - Я просмотрел другие вопросы SO, но не смог получить это все, чтобы работать. Опять же, я не уверен, правильно ли я понимаю цель .trigger...
.
.trigger()
jQuery - это программный способ имитации события браузера, которое обычно происходит в ответ на взаимодействие с пользователем, например. «щелкните» или «наведите указатель мыши». Его также можно использовать с настраиваемыми событиями, не имеющими интерактивного эквивалента для пользователя. - person Beetroot-Beetroot   schedule 19.07.2012