Ruby on rails 3.1 带有嵌套资源的JQuery日期选择器Rails 3.1

Ruby on rails 3.1 带有嵌套资源的JQuery日期选择器Rails 3.1,ruby-on-rails-3.1,datepicker,nested-forms,Ruby On Rails 3.1,Datepicker,Nested Forms,我尝试在运行Rails 3.1的应用程序中使用datepicker函数。如果我在application.js文件中使用以下内容,我就可以正常工作: $(function(){ $("#exam_deadline").datepicker(); }); 现在我有了一个嵌套的资源,并尝试了很多方法让它也能工作,但没有成功。通过一些研究,我发现一个可能的解决方案是: $(function(){ $('.datePicker').datePicker(); }); 但是如果

我尝试在运行Rails 3.1的应用程序中使用datepicker函数。如果我在application.js文件中使用以下内容,我就可以正常工作:

$(function(){
     $("#exam_deadline").datepicker();
});
现在我有了一个嵌套的资源,并尝试了很多方法让它也能工作,但没有成功。通过一些研究,我发现一个可能的解决方案是:

  $(function(){
    $('.datePicker').datePicker();
  });
但是如果我把这个类添加到我的字段中,它甚至在考试截止日期前都不起作用了。我不太熟悉Javascript,我希望有人能告诉我,我做错了什么。 以下是my View和.js中的代码片段: js:

视图: 考试:


:字符串,
:start_year=>Time.now.year,:label=>“Anmeldefrist”,
:order=>[:日、月、年],:class=>'日期选择器''>
建筑商%>

examdate_字段:

<%= f.inputs :class => 'fields' do%>
<%= f.input :date, :label =>"Termin", 
    :as => :string,
    :order =>[:day,:month,:year], :start_year => Time.now.year,
    :class=>"datePicker" %>
<%= link_to_remove_fields "Entfernen", f %>
<%end%>
“字段”do%>
“终端”,
:as=>:字符串,
:order=>[:日、月、年],:start\u year=>Time.now.year,
:class=>“日期选择器”%>
my application.html.erb:

<!DOCTYPE html>
<html>
  <head>
   <title><%= content_for?(:title) ? yield(:title) : "Untitled" %></title>
    <%= stylesheet_link_tag "http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/redmond/jquery-ui.css",
    "application", "formtastic.css", "formtastic_changes.css" %>
    <%= javascript_include_tag "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js", 
    "http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/jquery-ui.min.js",   "application" %>
    <%= csrf_meta_tag %>
    <%= yield(:head) %>
  </head>
...

...

提前感谢每一个小提示

只是一个简单的猜测。您在尝试使用类名时使用了单引号


如果这不能解决问题,我会尝试使用ID而不是类名(我不知道datepicker是否仍然可以使用类选择器正确引用它们)。您只需要为每个输入和动态创建的javascript(每个动态创建的输入都有一个日期选择器)添加一个Id,而不是一个静态js文件。

好的,经过多次尝试,我得到了它。我将js更改为:

$(function(){
  $(".datePicker").datepicker();
  $('#ui-datepicker-div').hide();
  $.datepicker._defaults.dateFormat = 'dd M yy' 
});
我的看法是:

<%= f.input :date, 
  :label =>"Termin", 
  :as => :string,
  :order =>[:day,:month,:year], 
  :start_year => Time.now.year, 
  :input_html => {:class =>"datePicker" }%>
“终端”,
:as=>:字符串,
:order=>[:天、月、年],
:start_year=>Time.now.year,
:input_html=>{:class=>“datePicker”}%>

现在它起作用了:)我希望它能帮助那些与同样问题作斗争的人。

谢谢你的快速回答。单引号不是问题所在。你能告诉我,如果我使用Id,函数会是什么样子吗?在输入字段中,我是必须用Id替换:class还是必须把它放在其他地方?这是否也与我在inputs标签中已经有了类“fields”这一事实有关?
$(function(){
  $(".datePicker").datepicker();
  $('#ui-datepicker-div').hide();
  $.datepicker._defaults.dateFormat = 'dd M yy' 
});
<%= f.input :date, 
  :label =>"Termin", 
  :as => :string,
  :order =>[:day,:month,:year], 
  :start_year => Time.now.year, 
  :input_html => {:class =>"datePicker" }%>