Rails datepicker帮助

时间:2009-06-04 22:07:14

标签: ruby-on-rails datepicker

我正在尝试在我的rails应用程序中使用calendar_date_select插件,并且是80%的方式。我的一个观点中有这个:

<%= calendar_date_select_tag "calendar", "", 
    :embedded => true, 
    :year_range => 10.years.ago..0.years.ago %>

日历显示正常,但我无法弄清楚如何将所选日期的值变为可用变量。我见过像

这样的例子
$F('calendar') 
$F(this)

但没有运气。任何帮助将不胜感激,谢谢。

2 个答案:

答案 0 :(得分:1)

要访问由<input>创建的calendar_date_select对象,您可以使用

$('calendar')

如果您使用的是Prototype javascript框架(Ruby on Rails中的默认设置)或

$('#calendar')

如果您使用的是JQuery javascript框架(如果您安装了JRails插件/ gem)。

库有一些稍微不同的方式来访问该输入的值,因此请查看您正在使用的文档。

干杯!

答案 1 :(得分:0)

我称之为CalendarHelper的那个人定义了一个名为calendar的帮助器,它接受一个块。 每天调用该块,您将生成一个包含两个值的数组 [单元格的文本(ussually day number),class和css style options]

<%= calendar(:year=>year,:month=>month,:abbrev=>(0..1)) do |d|
  cell_text = link_to_remote(d.mday,:update=>"panel",:url=>{:controller=>'portal',:action=>'agenda',:fecha=>d.to_time})+'<br />'  
  cell_attrs = nil
  [cell_text, cell_attrs]
end
%>

我在日历的文本中放置了一个link_to_remote AJAX调用,因此数字本身就是动作调用者。

但是你可以使用javascript赋值将任何形式的任何变量设置为你想要的值,比如

...link stuff..."onClick='my_form.my_date.value=#{d.to_time};'"...