如何创建动态下拉列表

时间:2014-09-20 07:38:16

标签: ruby-on-rails ruby-on-rails-4

在我的视图代码中:

<%= form_for(:offer,:url=>{:controller=>'offers',:action=>'create'}) do |f| %>

  <%= f.label "Select Category:" %> &nbsp;<%= f.select :catId_get, options_from_collection_for_select(@categories, "id", "name"), prompt: "Select Category"%>   

  <%= f.label "Select Menu" %> &nbsp;<%= f.select :catId_get, options_from_collection_for_select(@menus, "id", "menu_item_name"), prompt: "Select Menu Item"%>

在控制器中:

@categories = Category.where(:hotel_id=>cookies[:hotel_id_for_login_user])
@menus = Menu.where(:category_id=>params[:catId_get])

我是rails的新手。当我从类别下拉列表中选择一个类别时,我想在菜单下拉列表中显示受尊重的菜单。请帮帮我。谢谢。

1 个答案:

答案 0 :(得分:0)

这应该通过Ajax以这种方式动态完成:

$(".category-select").change(function(){
  $.get( "/menus?category_id=1", function( data ) {
    $.each( data, function( key, val ) {
     $( ".menu-select" ).append( '<option value="' + val.whatever + '">' + val.whatever + '</option>' );
    });
  });
})

或类似的东西。