Автоматическое обновление параметров выбранного поля

В 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....


person FilmiHero    schedule 18.07.2012    source источник
comment
.trigger() jQuery - это программный способ имитации события браузера, которое обычно происходит в ответ на взаимодействие с пользователем, например. «щелкните» или «наведите указатель мыши». Его также можно использовать с настраиваемыми событиями, не имеющими интерактивного эквивалента для пользователя.   -  person Beetroot-Beetroot    schedule 19.07.2012


Ответы (1)


Вам нужно будет справиться с этим вручную, простого способа не существует. Вы можете либо провести опрос, чтобы проверить, есть ли изменения, а затем воссоздать свой список, либо вы можете использовать веб-сокеты, чтобы избежать необходимости в опросе. Существует служба http://www.pusherapp.com, которая помогает с веб-сокетами, если вы выберете такой подход.

Я был бы очень осторожен с точки зрения удобства использования, вы не хотите перезагружать список, пока пользователь фактически его использует, или, может быть, если он уже что-то выбрал.

person Joel Friedlaender    schedule 18.07.2012