Rail 4填充选择字段,其中包含另一个选择字段的值

时间:2014-04-14 10:46:09

标签: jquery ruby-on-rails ajax select ruby-on-rails-4

我读了很多样本​​后......我的代码中仍然有错误。我不知道什么是错的。 有人可以给我一个暗示吗?

view:包含两个选择字段的表单

<%= select_tag "ops_group_id", options_from_collection_for_select(@groups, "id", "name"), :prompt => "Select a group"%>
<%= render :partial => 'oncalls' %>

路线:

 get "/projects/update_oncalls/:id" => 'projects#update_oncalls'

控制器:

def update_oncalls
    @oncalls = Oncall.where(:group_id => params[:id])
    render :partial => "oncalls", oncalls: @oncalls
  end

部分oncalls:

<%= form.input :oncall_id, :as => :select, :collection => @oncalls, :label => false %>

咖啡:

$(document).on "change", "select#ops_group_id", ->
 opsgroup = $("select#ops_group_id :selected").val()
 opsgroup = "0"  if opsgroup is ""
 jQuery.get "/projects/update_oncalls/" + opsgroup, (data) ->
 $("#project_oncall_id").html (data)
 return
日志中的

:Oncall Load(0.1ms)SELECT“oncalls”。* FROM“oncalls”WHERE“oncalls”。“group_id”= 1   渲染项目/ _oncalls.html.erb(3.9ms)

但是oncalls select ist not not .. ..

1 个答案:

答案 0 :(得分:0)

您的渲染会生成一个新的选择,而您的jQuery $("#project_oncall_id").html (data)正在尝试将该选择放入您现有的选择中。

请尝试$("#project_oncall_id").replaceWith(data)

编辑:同时仔细检查第二个选择的ID是project_oncall_id而不是oncall_id