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 元素。只需将其添加为选项中的 CSS 类select_tag
即可。
<%= select '', '', @coaches, {}, { data: {remote: true } } %>
请注意,data: { remote: true }
使用它是因为"data-remote"
它对 Ruby 不友好。
于 2016-06-14T19:58:31.647 回答