Jquery 为什么datepicker没有出现在Rails 3表单中

Jquery 为什么datepicker没有出现在Rails 3表单中,jquery,ruby-on-rails,ruby-on-rails-3,debugging,datepicker,Jquery,Ruby On Rails,Ruby On Rails 3,Debugging,Datepicker,我不明白为什么jQuery datepicker没有出现,即使我的应用程序上运行了jQuery。以下是我所做的: 我有一个Rails表单,包括 <div id="born_in"> <%= f.text_field :born_in %><br /> </div> 返回1 我试过: $("#born_in").datepicker("show") 但它没有显示任何东西。 那么为什么我没有看到datepicker()?这个版本的j

我不明白为什么jQuery datepicker没有出现,即使我的应用程序上运行了jQuery。以下是我所做的:

我有一个Rails表单,包括

  <div id="born_in">
   <%= f.text_field :born_in %><br />
   </div>
返回1

我试过:

$("#born_in").datepicker("show")
但它没有显示任何东西。 那么为什么我没有看到datepicker()?这个版本的jquery UI的datepicker是否存在错误?我应该如何测试我的应用程序中是否包含此功能


谢谢。

它是预先初始化的吗?你打电话来了吗

$("#born_in").datepicker();

在那个代码之前的什么地方?如果不需要,则不需要“show”,只需在不带参数的情况下运行该方法。

Rails决定在表单输入的前面加上id中的控制器名称。 例如,我的控制器名为“Testjqueryui”,在_形式的partial中,生成了以下内容(与您的类似):

<%= f.text_field :date %>

希望这有帮助

您只需使用jQuery选择器来查找希望显示为日期选择器的所有字段。一种方法是为datepicker字段指定一个特定的css类,如下所示:

<div id="born_in">
    <%= f.text_field :born_in, :class => "date" %>
</div>
您还可以使用特定元素的id而不是css类。你知道这些要求。
希望这是有用的

谢谢,菲什。我想如果您指定了,那么jQuery可以正确地识别该元素(即,不需要在对象的名称前面加前缀)@AdamNYC:也许我不清楚。你最初问题中的答案是不必要的。日期选择器附加到表单输入(文本框)。该文本框的ID是application.js文件中需要调用的内容。我相信,由于您使用的是标准的rails表单帮助程序
,因此创建的文本字段的id将为\u born\u in。您的测试,
alert($(“#born_in”).length)
肯定会返回true,因为它针对的是字段周围不必要的div。希望这有帮助。感谢您的跟进。在我尝试显式指定div id之前,我确实尝试了您建议的$(#my#class_born_in)方法。两种方法都不显示日期选择器:(@AdamNYC:Hmmm,这很有意思。你确定浏览器正在加载所需的javascript文件吗?我在app/views/layouts/application.html.erbi-Kennypu中加入了
,解决了这个问题。我在application.js(包含在application.html.erb的头部)中调用了它。但是日期选择器没有出现。
<%= f.text_field :date %>
$(function() {
    $( "#testjqueryui_date" ).datepicker();
});
<div id="born_in">
    <%= f.text_field :born_in, :class => "date" %>
</div>
$(function() {
    $('input.date').datepicker();
});