使用formtastic将ajax结果作为选择列表

时间:2009-12-11 08:24:13

标签: jquery ruby-on-rails ajax formtastic

是否可以使用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"

我想根据省份动态调整城市的选择列表。

1 个答案:

答案 0 :(得分:1)

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

首先确保传递Formtastic参数:include_blank =>在f.input结尾处为true:collection => []行,以便Formtastic知道渲染一个空的选择下拉列表。然后让你的控制器返回选项,并在你的Haml:

:javascript
    new Ajax.Updater({ success: 'some_select_tag' }, '/foo', {
        // process/insert returned html options tags/data however you want
        insertion: 'bottom'
    });