0

是否可以使用 Ajax 并将结果作为 Formtastic 的选择列表?

例子:

semantic_form_for @user, :url => profile_path(@profile.id) do |f|
  - f.inputs do
    - f.input :province, :label => "Province", :as => :select, :collection => ["province-1", "province-2", "province-3"]
    - f.input :city, :label => "City", :as => :select
  - f.buttons do
    = f.submit "Submit"

我想让城市的选择列表根据省份动态变化。

4

1 回答 1

1

如果您使用 Protoype,您所描述的内容可以通过几行 Javascript 和 Prototype Ajax.Updater来完成。

首先确保在 f.input :collection => [] 行的末尾将参数 :include_blank => true 传递给 Formtastic,以便 Formtastic 知道呈现一个空的选择下拉菜单。然后让您的控制器返回选项,并在您的 Haml 中:

:javascript
    new Ajax.Updater({ success: 'some_select_tag' }, '/foo', {
        // process/insert returned html options tags/data however you want
        insertion: 'bottom'
    });
于 2009-12-17T06:17:20.390 回答