2016-03-24 16 views
12

スタックオーバーフローに関する回答はほとんど見つかりませんでしたが、私の問題は解決できません。 私はDjangoで動作していますが、このエラーには関係しません。

私は仕事に私の日付ピッカーJavaスクリプトをしようが、私はエラーに

1時27キャッチされない例外TypeError取得しています:$(...)を日付ピッカーは1 @関数(無名関数)ではありません。27fire @ jquery-1.9.1.js:1037self.fireWith @ jquery-1.9.1.js:1148jQuery.extend.ready @ jquery-1.9.1.js:433completed @ jquery-1.9.1.js:103 jquery-2.1 .0.min.js:4 XHRが終了しました:POST "https://localhost:26143/skypectoc/v1/pnr/parse" .l.cors.a.crossDomain.send @ jquery-2.1.0.min.js:4o.extend.ajax @ jquery-2.1.0.min .js:4PNR.findNumbers @ pnr.js:43parseContent @ contentscript.js:385processMutatedElements @ contentscript.js:322

これはすべて私のスクリプトです:

<meta charset="utf-8"> 
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> 


<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
<script src="http://code.jquery.com/ui/1.11.0/jquery-ui.js"></script> 

<script type="text/javascript"> 
$(document).ready(function() { 
    $('.dateinput').datepicker({ format: "yyyy/mm/dd" }); 
}); 
</script> 

     <!-- Bootstrap core JavaScript 
================================================== --> 
<!-- Placed at the end of the document so the pages load faster --> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> 

<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script> 
<script src="http://getbootstrap.com/dist/js/bootstrap.min.js"></script> 
<!-- Just to make our placeholder images work. Don't actually copy the next line! --> 
<script src="http://getbootstrap.com/assets/js/vendor/holder.min.js"></script> 
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> 
<script src="http://getbootstrap.com/assets/js/ie10-viewport-bug-workaround.js"></script> 
<script type="text/javascript"> 
       $(document).ready(function() { 
        $("#extra-content").hide(); 
        $("#toggle-content").click(function(){ 
         $("#extra-content").toggle(); 
        }); 
       }); 
</script>    

任意のフィードバックは非常に間違っていた何

+1

あなただけのために一回のjQueryを呼び出す必要がありますstart – Andy

+0

あなたが適切なjquery-ui.jsを持っていて、datepicker()が関数ではないと言っているので、セレクタが間違っている可能性はありますか? $( 'dateinput'))) – Kyle

+2

実際にjqueryのインクルードを削除したときには、$( '。dateinput')はページロード後に存在するか、動的に追加されていて、スクリプトsrc = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"> このエラーはもう発生しません。ありがとうAndy –

答えて

36

を理解されるであろうか?初めてのjQueryを含む場合

は:

<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
<script src="http://code.jquery.com/ui/1.11.0/jquery-ui.js"></script> 

2番目のスクリプトはjQueryのに自分自身をプラグを、そして$(...).datepicker "追加します"。

しかし、その後もう一度jQueryのを含め、次のとおりです。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> 

それは$(...).datepickerで、したがって、目詰まりが不定となり取り消します。最初$(document).readyブロックは、その前に表示されますが

、匿名のコールバック関数の本体は、すべてのスクリプトがロードされるまで実行されず、その後、$(...)によって(window.$正確には)最近ロードされたjQueryのを参照しています。

あなたはすぐにという$(document).readyコールバックよりも$('.dateinput').datepickerと呼ばれている場合は、このに実行されないだろうが、その後、あなたは(クラスdateinput付き)ターゲット要素は、スクリプトの前に、文書内にすでに存在することを確認する必要があると思いますし、それはです一般にreadyコールバックを使用することをお勧めします。あなたはjqueryの-UIからdatepickerを使用したい場合は

ソリューション

は、それはおそらくブートストラップ後jqueryの-UIスクリプトを含めるために、最も理にかなって。 jquery-1.11.4はjquery 1.6+と互換性がありますので、うまく動作します。

(特にjquery-uiを使用していない場合は)bootstrap-datepickerを試すこともできます。

+0

ありがとうございました@szym –

+1

これは素晴らしい思い出でした。私の場合は、すでに別のPHPインクルードファイルからjquery-uiを呼び出していました。したがって、あなたが正しく述べたのと同じ効果です。ありがとう! – itsols

-2

このエラーは、関数が定義されていないために発生します。 私の場合、datepicker関数をdatepicker jsファイルに含めなくても、このエラーが発生しました。

0

ファイルを3つ追加し、CSSリンクを2つ追加するだけです。あなたもcdnのことができます。JSファイルとCSSファイル用 リンクのようなある: -

  1. jQuery.dataTables.min.js
  2. dataTables.bootstrap.min.js
  3. dataTables.bootstrap.min.css
  4. datepicker.css-ブートストラップ
  5. ブートストラップ・datepicker.js

プロジェクトでブートストラップを使用している場合、それらは有効です。

私はこれがあなたに役立つことを願っています。 よろしく、 のVivek Singla

0

あなたが行います2箇所のスクリプトへのリンクを含めているため、エラーがあるオーバーライドと

<meta charset="utf-8"> 
 
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> 
 

 

 
<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
 
<script src="http://code.jquery.com/ui/1.11.0/jquery-ui.js"></script> 
 

 
<script type="text/javascript"> 
 
$(document).ready(function() { 
 
    $('.dateinput').datepicker({ format: "yyyy/mm/dd" }); 
 
}); 
 
</script> 
 

 
     <!-- Bootstrap core JavaScript 
 
================================================== --> 
 
<!-- Placed at the end of the document so the pages load faster --> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>

だから、日付ピッカーの再初期化いずれかを除外src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"

または SRC = "http://code.jquery.com/ui/1.11.0/jquery-ui.js" それは動作します

..

関連する問題