以前の collection_select の選択に基づいて、collection_select のオプションを設定したいと思います。1 つの選択にスポーツがあり、そのスポーツに基づくチームを次の選択に入力したいと考えています。
問題は、私が見つけたすべての例がRORの古いバージョンのものであるため、ここで質問することにしました. 次のような厄介なものを追加する必要があることはわかっています。
html_options = {:onchange=>'d=$("#player_sports_id").val();$.ajax({type: "GET", url: "/players/returnsel1.js?sports_id="+d, dataType: "script" });'})
player#returnsel1 を呼び出して returnsel1.js.erb を取得します。returnsel1 には変数があります
@teamstoreturn=Teams.where(:sport_id=params[:sport_id])
では、jquery returnsel1.js.erb はどのように見えるのでしょうか? ありがとうございました。ドリジャン
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
/players/returnsel1?sports_id=2 に移動すると、正しいドロップダウン メニューが表示されます
私は何を間違えましたか?
edit2: dataType: "html" の代わりに dataType: "script" が存在する必要があり、現在は機能しています:)