我想根據以前的collection_select選擇填充collection_select的選項。我有一項選擇體育項目,我希望通過基於這項運動的團隊填補下一個選擇。軌道上的紅寶石3,填充選擇列表取決於從以前的選擇選擇,紅寶石的方式
問題是我發現的所有例子都是針對老版本的ROR,所以我決定在這裏問。我知道我必須添加一些令人討厭的東西,如:
html_options = {:onchange=>'d=$("#player_sports_id").val();$.ajax({type: "GET", url: "/players/returnsel1.js?sports_id="+d, dataType: "script" });'})
要求玩家#returnsel1並得到返回的returnsel1.js.erb。 在returnsel1我有可變
@teamstoreturn=Teams.where(:sport_id=params[:sport_id])
那麼我們應該如何jQuery的returnsel1.js.erb樣子? 謝謝。 Dorijan
EDIT1: 這裏是它是如何看,但它不工作:
html_options = {:onchange=>'d=$("#player_sports_id").val();$.ajax({type: "GET", url: "/players/returnsel1?sports_id="+d, dataType: "script",success: function(data){ $("#player_teams_id").html(data)} });'})
,並在控制器它是這樣的:
def returnsel1
@teamstoreturn=Team.where(:sports_id=>params[:sports_id])
render :inline => "<%= collection_select(:player, :teams_id, @teamstoreturn, :id, :naziv) %>"
end
如果我去/播放器/ returnsel1?sports_id = 2我得到正確的下拉菜單
我做錯了什麼?
EDIT2: 應該有數據類型:「HTML」,而不是數據類型:「腳本」 ,現在它正在努力:)
嗯......它似乎沒有工作......我編輯了我的問題 – user899119
什麼是症狀?當你發出ajax請求時會發生什麼? – Matzi
什麼也沒有,甚至沒有錯誤......但我弄明白了,我應該改變dataType:「html」 – user899119