我一直在关注多个jquery时间跨度滑块的this指南。我试图从我的rails应用程序获取每日起始值。我正在努力让变量正确地插入到jquery函数中。
我每周的每一天都有一个字段,其中包括开始时间(每天)。例如:
@location.active_monday
@location.active_tuesday
@location.active_wednesday
显示滑块的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" > - '+
在输入值中,我试图从我的模型中插入值,但我无法弄清楚正确的语法。试过了:
value="<%= "@location.active_wednesday" %>
哪个有效,但我需要将这一天替换为'+ day +'。例如:
value="<%= "@location.active_'+day+'" %>
有办法做到这一点还是我需要重新思考?
答案 0 :(得分:4)
你需要重新思考。你不能在ruby代码上使用你的javascript变量(例如day
),因为它已经运行了。如果您需要javascript才能访问它,则值必须位于渲染视图上。
var active_values = {
monday: "<%= @location.active_monday %>",
tuesday: "<%= @location.active_tuesday %>",
wednesday: "<%= @location.active_wednesday %>"
};
然后,在你的JS函数上,只需访问数据:
'<input value="' + active_values[day] + '" />' ;
答案 1 :(得分:1)
您需要做的是分配一个javascript位置变量。
var location = <%= @location.to_json %>;
然后在你的javascript方法中你可以使用。
value=location["active_" + day];