我读了很多样本后......我的代码中仍然有错误。我不知道什么是错的。 有人可以给我一个暗示吗?
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 .. ..
答案 0 :(得分:0)
您的渲染会生成一个新的选择,而您的jQuery $("#project_oncall_id").html (data)
正在尝试将该选择放入您现有的选择中。
请尝试$("#project_oncall_id").replaceWith(data)
。
编辑:同时仔细检查第二个选择的ID是project_oncall_id
而不是oncall_id
。