【发布时间】:2012-12-29 08:53:28
【问题描述】:
我有一个 JavaScript 变量:
var selectValUser = $('.select_user :selected').val();
我需要在同一页面的erb代码中使用这个变量,即
<%= get_free_hours_for_user(selectValUser) %>
我该怎么做?
【问题讨论】:
我有一个 JavaScript 变量:
var selectValUser = $('.select_user :selected').val();
我需要在同一页面的erb代码中使用这个变量,即
<%= get_free_hours_for_user(selectValUser) %>
我该怎么做?
【问题讨论】:
您不能这样做,因为 javascript 在客户端运行,而 ERB 文件中的代码在服务器端运行,您可以使用 ajax 请求发送值, 另外这里有一个很棒的rails cast
这是一个从 javascript 向控制器发送消息的示例;当用户点击应用时,我们在控制器中有一个操作 'set_id',它会获得电源,进行验证等,在视图中的 'id_message' div 中显示消息。
$('#apply').live('click', function(event, data, status, xhr) {
event.preventDefault();
return $.ajax({
url: '/users/registrations/set_id',
type: 'GET',
data: {
code: $('#user_id').val()
},
success: function(data, event, status, xhr) {
$('#id_message').html(response);
return $("#id_message").show();
},
error: function(event, data, status, xhr) {
$('#id_message').html(response);
return $("#id_message").show();
}
});
});
希望它能回答你的问题
【讨论】:
没有办法直接做到这一点。原因是,html 在您的服务器端运行,而 javascript 在您的本地浏览器中运行。
可以在这里找到更多讨论。
How to pass a javascript variable into a erb code in a js view?
关于不同的尝试方式,你可以从这个开始。
http://jing.io/t/pass-javascript-variables-to-rails-controller.html
和
【讨论】: