2013-07-22 53 views
37

私はjQuery UIをブートストラップと併用していましたが、これまでになかった問題が発生しているようです。何が変わったのか分かりません。私は別のバージョンのjQueryを設定しようとしましたが、その間にjQuery UIを更新しませんでした。だから私は何が壊れたのか正確には分からない。DatepickerがキャッチしないtypeErrorを返す:未定義の 'currentDay'

コンソールからのエラー私はDatePickerのリターンの任意の日付をクリックしてください:

Uncaught TypeError: Cannot set property 'currentDay' of undefined 

コード1は、日付ピッカーから期待通り非常に簡単です:

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

以下でHTML:

<input type="text" class="datepicker" /> 

これはバグですか? Googleとのマッチアップ)、それは私が逃した何か他のですか?

+1

私は、jQuery UIのdatepickerとboostrapのdatepickerとの競合があるかもしれないと思うので、1つを選択してjsファイルから他のものを削除することをお勧めします。 –

+0

申し訳ありませんが、残念ながら、私はBootstrap CSSをjQuery 1.7.1とjQuery-UI 1.9.2でのみ使用しています。この時点で私はBootstrap-UIを使用していません。 –

+0

エラーが発生するのは、#IDを使用し、.classを使用しない場合です。 –

答えて

105

解決策が見つかりました。長い時間のデバッグの後、私は入力フィールドよりも上にあるIDがまったく同じ<div>があることを知りました。したがって、スクリプトはIDを含む最初のインスタンスをとり、inputフィールドの代わりにDIVを選択しました。

DIVを削除/名前を変更してもう一度正常に機能しました。

+5

あなたのページをHTMLバリデーターに入れるのは非常に便利です!:) –

+0

ありがとう、それは100%仕事ですが、私は

+1

このバグで2時間、 <3 – caroso1222

12

上記のjQueryのdatepickerエラーは、idを使用するかcssクラスまたはフィールド名のような別のセレクタを使用しても、同じIDを持つコントロールが重複しているために発生します。

+0

それはまさにポイントです。今までにdatepickerでIDを使用しないで、カスタムcssクラス名を使用してください。私はポップオーバーの中にdatepickerを使用すると、その問題に直面していました。 –

+0

@ tod-birdsall&others、私はここで同じ問題をリンクしています。 https://stackoverflow.com/questions/45883482/datatable-datefilter-loads-correctly-but-throws-uncaught-typeerror-on-date-selec私はさまざまなID、クラスなどのような多くのソリューションを試してみました。問題はありませんこのオリジナルスレッドの4年後の2017年にもdatatableまたはjqueryのUIのバグですか?不思議なことに、入力コントロールにname属性を作成しようとすると、ページ1でさらに重複してしまいます。必然的にエラーが発生します。この問題の解決策はありますか?私はdatatableとjqueryのUIの最新バージョンを使用しています。 – webblover

1

このエラーも発生していました。フォームの入力idsと一致しない属性の 'for'というラベルがいくつかあるため、datepickerも混乱する可能性があります。一度それらを修正したら、すべてうまくいってエラーがなくなった。 Andreasのアドバイスを(+1してください)、フォームを検証してください - Chris PederickのWeb Developer Toolbarを使うと、簡単に検証することができます。

0

異なるIDのない同じクラスの入力ボックスが2つあり、日付ピッカーを試している可能性があります。それは2つの異なるIDを与える場合は、それは動作します。

1

セレクタを入れます。

<script> $("#formID #duplicatedId").datepicker({language: 'he'}); 
</script> 

フォームID:入力を含むフォームのID。

duplicatedId:入力要素のID。

関連する問題