【发布时间】:2014-02-26 09:33:27
【问题描述】:
我有一个 Rails 应用程序。在两个不同的 html 页面上,我想使用 jquery 的 datepicker。我第一次使用它,它工作得很好:
在我的 html 中:
<input id="kid_dob" name="kid[dob]" type="text" />
在我的 javascript 中:
(function() {
jQuery(function() {
return $('#kid_dob').datepicker({
changeMonth: true,
changeYear: true,
yearRange: '-16:c'
})({
dateFormat: 'yy-mm-dd'
});
});
}).call(this);
(这个其实是CoffeeScript写的,我上面展示的JavaScript已经被rails处理过了)。
这很好用:当我点击 kid_dob 文本字段时,日期选择器日历确实会出现。
但是,在另一个页面上我有 html
<input id="reservable_history_start_date" name="reservable_history[start_date]" type="text" />
和javascript(除了kid_dob被reservable_history_start_date替换之外完全相同)
(function() {
jQuery(function() {
return $('#reservable_history_start_date').datepicker({
changeMonth: true,
changeYear: true,
yearRange: '-16:c'
})({
dateFormat: 'yy-mm-dd'
});
});
}).call(this);
然而,在第二个例子中,日期选择器日历并没有出现。此外,当我使用选项检查器时,在第一个工作情况下,滚动文本是 input#kid_dob.hasDatepicker,但在不工作情况下,滚动文本只是 input#reservable_history_start_date(没有 hasDatepicker)。
另外,这是我的application.js 文件中的require 语句
//= require jquery
//= require jquery_ujs
//= require jquery.ui.datepicker
//= require bootstrap
//= require_tree .
我做错了什么?!两个html文件之间一定有什么不同,但我很茫然。非常感谢任何提示。
这都是 rails 4.0.0 应用程序的一部分,ruby -v 的输出是
ruby 2.0.0p247(2013-06-27 修订版 41674)[x86_64-linux]
我正在使用 ubuntu 10.04 Lucid Lynx。
提前致谢!
【问题讨论】:
-
你能发布你的 application.js 文件的内容吗?
-
好的,已编辑为原帖
-
重新加载第二页是否有效? (可能是与 turbolinks 相关的问题)
-
没有。我还尝试在 application.js 中添加和删除
//= require turbolinks。对不起。 -
查看浏览器控制台是否存在js错误?
标签: javascript jquery ruby-on-rails ruby-on-rails-4 datepicker