未捕获的TypeError:对象[object object]没有方法' datepicker'

时间:2014-01-23 07:44:09

标签: javascript jquery ruby-on-rails jquery-ui datepicker

这是我面临的错误:

Uncaught TypeError: Object [object Object] has no method 'datepicker' myquery.js:13
(anonymous function) myquery.js:13
fire jquery.js:3049
self.fireWith jquery.js:3161
jQuery.extend.ready jquery.js:434
completed

myquery.js的代码如下:

jQuery(function($){
    $("#datepicker").datepicker({
        dateFormat: 'yy-mm-dd'
    });
});

在我的application.js中我有:

//= require jquery
//= require myquery
//= require jquery_ujs
//= require turbolinks
//= require_tree .

在我的application.html.erb中,我有这个:

  <%= stylesheet_link_tag    "http://code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css" %>
         true%&gt;   

最后我的index.html.erb说:

<label for="date">Date</label>
<input type="text" id="datepicker"></p>

我在stackoverflow上尝试了几乎所有的答案,但没有获得。请告诉我该怎么做......

3 个答案:

答案 0 :(得分:1)

你必须首先加载jquery ui

然后加载myquery.js

因为 datepicker()是jquery ui的方法。

所以,你的javascript加载顺序sholud如下......

//= require jquery
//= require jquery_ujs
//= require myquery
//= require turbolinks
//= require_tree

答案 1 :(得分:0)

在使用jQuery UI方法之前,datepicker js文件未加载。更改require的顺序(myquery之前的jquery_ujs):

//= require jquery
//= require jquery_ujs
//= require myquery
//= require turbolinks
//= require_tree .

答案 2 :(得分:0)

同样需要编写Hasib Hasan Arnab 和

$( document ).ready(function() {
  $("#datepicker").datepicker({
    dateFormat: 'yy-mm-dd'
  });
});