使用js.erb文件使用rails 3.0 ajax显示日期格式的问题

时间:2010-11-18 16:07:24

标签: ruby-on-rails

你好 在我的应用程序中,我将用户以dd / mm / yyyy格式(例如“11/11/2010”)收到的日期附加到使用ajax和js.erb文件的选择列表

我的选择列表代码是

<select name="hour[reported_date]" id="customDate_link_hours">
    <option value="Today">Today</option>
    <option value="Yesterday">Yesterday</option>
    <option value="Custom_range">Select Date</option>
</select>
控制器中的

我将从用户收到的日期分配给@display_date变量

@display_date=params[:hour][:reported_date]

在我执行的js.erb文件中

$('#customDate_link_hours').append($('<option></option>').attr('value',<%=@display_date%>).attr('selected',true).text(<%=@display_date%>))

功能正常但我得到非常奇怪的最终输入
例如,如果我将日期“18/11/2010”添加到选择列表中,则收到的附加值为“0.013888888888”
如果我得到日期“2/11/201”,则选择列表中收到的附加值为“0.00009045687471733”。
我怀疑问题出在日期格式的“/”字符中,因为当我试图输入其他字符串如“18112010”时,每件事情都工作正常 如果有人能告诉我该怎么做以解决这个问题,我将非常感激。

1 个答案:

答案 0 :(得分:1)

您的ERB区块周围需要引号:

$('#customDate_link_hours')
    .append($('<option></option>')
    .attr('value','<%=@display_date%>')
    .attr('selected',true).text('<%=@display_date%>'));

现在Javascript正在看一个文字2/11/201并将其视为一个部门。