スタックオーバーフローに関する回答はほとんど見つかりませんでしたが、それでも問題を解決できません。 Djangoで実行していますが、このエラーに関係があるとは思いません。
日付ピッカーJavaスクリプトを機能させようとしましたが、エラーが発生しています
1:27キャッチされないTypeError:$(...)。datepickerは関数(匿名関数)@ 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>
フィードバックは大歓迎です
初めて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。
$('.dateinput').datepicker
コールバックではなく、すぐに$(document).ready
を呼び出した場合、これに遭遇することはありませんが、ターゲット要素(クラスdateinput
)が既に存在することを確認する必要があります。スクリプトの前のドキュメント。通常、ready
コールバックを使用することをお勧めします。
Jquery-uiのdatepicker
を使用する場合、おそらくjquery-uiスクリプトafterブートストラップを含めるのが最も理にかなっています。 jquery-ui 1.11.4はjquery 1.6+と互換性があるため、正常に動作します。
あるいは(特にjquery-uiを他のことに使用していない場合)、 bootstrap-datepicker を試すことができます。
3つのファイルと2つのcssリンクを追加するだけです。どちらのcdnも同様にできます。 jsファイルとcssファイルのリンクは次のとおりです。
プロジェクトでbootstrapを使用している場合に有効です。
これがお役に立てば幸いです。よろしく、Vivek Singla
ASP.NET MVCを使用している場合
開くレイアウトファイル"_ Layout.cshtml"またはカスタムファイル
以下に示すように、コードの一部で:
@Scripts.Render("~/bundles/bootstrap")
@RenderSection("scripts", required: false)
@Scripts.Render("~/bundles/jquery")
削除行 "@ Scripts.Render("〜/ bundles/jquery ")"
(表示されるコードの部分で)以下のようにlatest行として過去:
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
@Scripts.Render("~/bundles/jquery")
これは私を助け、希望もあなたを助けます。
エラーは、日付ピッカーのオーバーライドと再初期化を行うスクリプトリンクを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"
それが動作します..
エラーの原因は、Jqueryライブラリへの複数の参照を含めることですJqueryライブラリへの参照を1つだけ含めると、問題が解決します