Ruby on rails JuQuery UI数据包,Foundation和FrimeTAG不工作
我是jQuery的初学者,我正在尝试实现一个日期选择器。我的gem文件中有Ruby on rails JuQuery UI数据包,Foundation和FrimeTAG不工作,ruby-on-rails,jquery-ui,ruby-on-rails-4,datepicker,zurb-foundation,Ruby On Rails,Jquery Ui,Ruby On Rails 4,Datepicker,Zurb Foundation,我是jQuery的初学者,我正在尝试实现一个日期选择器。我的gem文件中有jqueryuirailsgem。我使用基金会,我的形式是: <div class="row search-area"> <%= form_tag search_index_path, method: :get do %> <div class="small-12 medium-1 large-1 columns search-field"> <%= label_t
jqueryuirails
gem。我使用基金会,我的形式是:
<div class="row search-area">
<%= form_tag search_index_path, method: :get do %>
<div class="small-12 medium-1 large-1 columns search-field">
<%= label_tag "From", nil, class: "right inline" %>
</div>
<div class="small-12 medium-2 large-2 columns search-field">
<%= text_field_tag(:start_date, params[:start_date], :class => "date-field") %>
</div>
<div class="small-12 medium-1 large-1 columns search-field">
<%= label_tag "To", nil, class: "right inline" %>
</div>
<div class="small-12 medium-2 large-2 columns search-field">
<%= text_field_tag(:end_date, params[:end_date], :class => "date-field") %>
</div>
<div class="small-12 medium-1 large-1 columns search-field">
<%= label_tag "Guests", nil, class: "right inline" %>
</div>
<div class="small-12 medium-2 large-2 columns search-field">
<%= number_field(:number_of_guests, params[:number_of_guests], in: 1.0..20.0, step: 1.0) %>
</div>
<div class="small-12 medium-3 large-3 columns">
<%= submit_tag "Search", name: nil, :class => "button" %>
</div>
<% end %>
</div>
在application.css.scss
中,我有:
//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require foundation
//= require_tree .
$(function(){ $(document).foundation(); });
$(function() {
$('.date-field').datepicker();
});
*= require_tree .
*= require_self
*= require foundation_and_overrides
*= require jquery-ui
*/
@import "foundation_and_overrides";
问题是,我的文本字段保持为文本字段,当我单击它们时,没有日历弹出
阅读后,我尝试停止服务器,运行bundle update
,然后运行bundle exec rake assets:precompile
。这不起作用
我还试着用Chrome中的开发工具进行一些挖掘。当我检查应该显示datepicker日历的文本字段元素,然后单击开发人员工具中的“sources”时,有一个包含大量css文件的“app/jquery ui”文件夹。当我点击“网络”并重新加载页面时,我看到的唯一javascript文件是“modernizer.self.js”,它显然位于“assets/vendor/”中
这是否意味着jQueryUIJavascripts没有被编译?如果是这样,我该如何解决这个问题
经过一点搜索和进一步调试后-我认为问题可能在于,
application.js
根本看不见。文档准备好后,您可以调用datepicker。就像下面的代码一样
//= require jquery
//= require jquery_ujs
//= require jquery-ui/datepicker
$(document).ready(function() {
$('.date-field').datepicker();
});
如果有多个css文件与jquery ui关联,那么您需要确保需要jquery ui树(如果app/jquery ui是一个文件夹)。在我的实际项目中,只有一个app/javascripts文件夹,但当我检查文本字段元素时,我希望datepicker显示在中,然后在sources下的developer tools中显示一个app/jquery ui文件夹。我还需要
\\=require\u tree jquery ui
?啊!我的错。没有仔细阅读你的问题。如果您使用的是日期选择器/日历,则需要包含特定模块。请在此处查看Github:。因此,您需要/=在application.js中需要jquery ui/datepicker,在application.css中需要*=jquery ui/datepicker。这恐怕没有帮助:(我尝试停止服务器并再次预编译我的资产,但文本框仍保持为纯文本框。我尝试了此操作,但不幸的是日历仍无法显示。我仍看到纯文本框。是否可以运行此$('.date field')。datepicker()
在浏览器控制台中?然后,查看是否应用了日期选择器
。这是我得到的:未捕获类型错误:$(…)。日期选择器在Object.InjectedScript的:2:18处不是函数。\u evaluateOn(:895:140)在Object.InjectedScript.\u evaluateAndWrap(:828:34)在Object.InjectedScript.evaluate(:694:21)
它在我这边运行,请尝试只包含/=require\u tree.
并删除其他文件。没有更改。这对我来说非常重要。知道我这边会有什么问题吗?我对使用javascript/jQuery非常陌生