rails options_from_collection_for_select ajax request

时间:2014-05-01 12:59:26

标签: ruby-on-rails ajax

我有2个型号:1。类别。 2.产品。每个分类都有许多产品,每个产品只属于一个类别。

  1. Category.rb

    class Category < ActiveRecord::Base has_many :products, :dependent => :destroy end

  2. Product.rb
  3. class Product < ActiveRecord::Base belongs_to :category end

    我的项目中有2个options_from_collection_for_select,其中一个显示类别和其他展示产品

    <select name="task[category_id]">
       <%= options_from_collection_for_select(@list_of_category,:id, :name,@task.category_id) %>
    </select>
    
    <select name="task[product_id]">
       <%= options_from_collection_for_select(@list_of_product,:id, :name,@task.product_id) %>
    </select>
    

    现在我想设置onchange,当我从第一个select中选择一个类别时,另一个只显示所选类别中存在的产品。我该怎么办?

2 个答案:

答案 0 :(得分:0)

您可以在选择框中使用onchangehandler,例如

<%= options_from_collection_for_select(@list_of_category,:id, :name,@task.category_id,:onchange => 'yourfunction()') %>

答案 1 :(得分:0)

使用ajax调用重新填充数据。像

这样的东西  &#34; ABC&#34; %GT;

&lt;%= options_from_collection_for_select(@ list_of_category,:id,:name,@ task.category_id),:id =&gt; &#34; DEF&#34; %GT; enter code here

$(&#34;#ABC&#34)变化(函数(){。 #yuour code ...`在这里输入代码` });