带有ajax动作的Rails select_tag

时间:2009-06-12 07:24:32

标签: ruby-on-rails ajax forms

我有以下选择列表。

<%= select_tag(:editlevel,options_from_collection_for_select(Level.all, :id, :name)) %>

当用户从上面的列表中选择一个选项时,下面的列表应该根据上面的选择填充数据库中的值。

<%= select_tag(:lques,{},{ :size =>10, :style => "width:200px"}) %>

我想我应该使用带有onchange事件的remote_function。但我不知道如何使用它并填充后者列出数据库中的值。有人能帮帮我吗?

1 个答案:

答案 0 :(得分:2)

我解决这个问题的一个简单方法是:

<select id="editlevel" name="editlevel" onchange="
   <%= remote_function(
           :update => 'lques', 
           :url => {:action => :lques}, 
           :with => "'level=' + $('editlevel').value %>
">

</select>

<select id="lques" name="lques">
</select>

然后你的lques行动可以得到你需要的lques记录并做options_for_select并且它应该把从服务器返回的内容作为$('lques').innerHTML

这是航空代码,尚未经过测试。