sim*_*ley 1 ruby jquery ruby-on-rails
我一直在关注这个关于多个 jquery 时间跨度滑块的指南。我正在尝试从我的 Rails 应用程序中获取每日起始值。我正在努力将变量正确插入到 jquery 函数中。
我有一个字段代表一周中的每一天,其中包括开始时间(每天)。例如:
@location.active_monday
@location.active_tuesday
@location.active_wednesday
Run Code Online (Sandbox Code Playgroud)
显示滑块的 jquery 函数如下所示:
_sliderhtml: function(day){
var displayday = day.charAt(0).toUpperCase() + day.substr(1);
var html = ""+
'<div class="fieldrow spacer">' +
'<div>' +
'<input type="text" name="location['+day+'_on_wifi]" id="'+day+'-time1" value="xxxxxxx" > - '+
Run Code Online (Sandbox Code Playgroud)
在输入值中,我尝试插入模型中的值,但我无法找出正确的语法。试过:
value="<%= "@location.active_wednesday" %>
Run Code Online (Sandbox Code Playgroud)
这可行,但我需要用“+day+”替换这一天。例如:
value="<%= "@location.active_'+day+'" %>
Run Code Online (Sandbox Code Playgroud)
有办法做到这一点还是我需要重新考虑?
你需要重新思考。您不能在 ruby 代码上使用 javascript 变量(例如day,在您的示例中),因为它已经运行了。如果您需要 JavaScript 能够访问这些值,则这些值需要位于渲染视图上。
你可以尝试这样的事情:
var active_values = {
monday: "<%= @location.active_monday %>",
tuesday: "<%= @location.active_tuesday %>",
wednesday: "<%= @location.active_wednesday %>"
};
Run Code Online (Sandbox Code Playgroud)
然后,在您的 JS 函数上,只需访问数据:
'<input value="' + active_values[day] + '" />' ;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
721 次 |
| 最近记录: |