Jquery 为什么datepicker没有出现在Rails 3表单中
我不明白为什么jQuery datepicker没有出现,即使我的应用程序上运行了jQuery。以下是我所做的: 我有一个Rails表单,包括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
<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();
});