在 Rails 中,我的 Dish 页面上有一个表单,其中有一个名为 Side Dishs 的多选选择字段。
如果用户从另一个浏览器窗口添加了另一个配菜,我想让我的配菜选择字段的选项自动更新(无需重新加载页面)。
我从选择的网站上查看了动态更新选择的内容,但我不知道这是否是我正在寻找的和/或我是否正确理解它。
目前,我的dishes.js.coffee
样子是这样的:
jQuery ->
$(".chzn-side-dish").chosen()
$(".chzn-side-dish").trigger "liszt:updated"
但显然,这并不能解决问题。我的理解是,.trigger
将定期刷新配菜列表并从配菜表中获取任何新添加(或删除)。
Dish 页面上的表单遵循以下约定:
= 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...
正确的目的。