select_tag
Rails 3.1 でオプションが選択 (変更) されたら、AJAX リクエストを送信したいと考えています。使用できます:remote=>true
か、:onchange => remote_function()
または他の方法がありますか?
6684 次
3 に答える
6
これは間違いなく jQuery を使用して行う必要があります (可能な限りクリーンに保つための控えめなアプローチを使用します)。.js ファイルには、次のようなものが必要です...
$('#select_tag_id').change(function(){
$ajax({
url: "remote_action_in_your_controller",
type: "GET",
data: {select_tag_value: $('#select_tag_id option:selected').text()},
})
});
これは、コントローラーでリモート アクションを呼び出したいだけの場合と同じくらい簡単です (選択したオプションの値を渡したことに注意してください。おそらく、その値で何かを実行したいからです)。ajax 呼び出しの実行後に何かを行う必要がある場合は、succes
オプションを使用します。お役に立てれば。
于 2012-07-24T16:15:22.803 に答える
1
JQueryでそれを行う必要があります。ドキュメントの準備ができたら、次のようにします。
$('#your_select_tag').change(function() {
$.ajax({ type: "GET",
url: "http://your_url/",
success : function(text) {
alert('success')
}
});
});
ドキュメントを参照してください: http://api.jquery.com/change/およびhttp://api.jquery.com/jQuery.ajax/。
于 2012-07-23T18:43:10.600 に答える
1
remote: true
data-remote="true"
html 要素に追加します。select_tag
これをオプションの CSS クラスとして追加するだけです。
<%= select '', '', @coaches, {}, { data: {remote: true } } %>
Rubyフレンドリーではないdata: { remote: true }
ため、 が使用されていることに注意してください。"data-remote"
于 2016-06-14T19:58:31.647 に答える