範囲を選択するときにjquery UI datepickerに奇妙な問題があります。質問の前に、私は他の多くの人々によって書かれたコードに取り組んでいます。すべての機能が機能するように、最適化された順序で jquery ツールと UI が含まれています。jquery UI を除くすべて。私が言及した理由は、他のすべてのコードを壊すため、バージョンを更新したり、ライブラリの順序を切り替えることができないためです:((ただし、jquery、js、jquery UIがどこにも2回含まれていないことを確認しました)
とはいえ、問題はこれです-「終了」日が「開始」日よりも遅くなる2つの日付が必要です。これは、jquery サイトの次のコードで簡単に実行できます。
$(function() {
$( "#from" ).datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 3,
onClose: function( selectedDate ) {
$( "#to" ).datepicker( "option", "minDate", selectedDate ); //BREAKS!
}
});
$( "#to" ).datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 3,
onClose: function( selectedDate ) {
$( "#from" ).datepicker( "option", "maxDate", selectedDate ); //BREAKS!
}
});
});
問題は、「BREAKS!」とコメントした行で日付を選択するとコードが壊れることです。メインの日付ピッカー関数内で2番目の日付ピッカーが検出されず、エラーが発生するだけです-SCRIPT438:オブジェクトはプロパティまたはメソッド「日付ピッカー」をサポートしていません
だから私は次の投稿を読んで、次の方法で物事を行うことに決めました. これは機能しますが、明らかに範囲機能がありません。
$(document).ready(function(){
$('#from').datepicker({
changeMonth: true,
changeYear: true,
numberOfMonths: 1,
showButtonPanel: true,
onSelect: function(dateText, inst) {
$('[name=wmFrom]').val(dateText); //need this part for the search filters
}
});
$('#to').datepicker({
changeMonth: true,
changeYear: true,
numberOfMonths: 1,
showButtonPanel: true,
onSelect: function(dateText, inst){
$('[name=wmTo]').val(dateText); //need this part for the search filters
}
});
});
さて、私はまだjsとjqueryを学んでいます。datepicker内でdatepickerを呼び出し/初期化せずに、この範囲機能を実装するのを手伝ってくれる人はいますか? この問題は、おそらくライブラリのバージョンまたは互換性に問題があることを意味していると思います。しかし、私が言ったように、私は本当にそれらを取り除くことも、これを大きく変えることもできません. どんなアイデア/助けも大歓迎です..
より詳しい情報-
私より前に働いていた誰かがこの方法で作業を行っており、私が変更を加えると、さまざまな機能が壊れてしまうため、これはイライラします。これは内部アプリケーションであるため、リンクを提供できません:(。
これは私が話していることです - 最初に、私が取り組んでいる問題ファイルの先頭に含まれているヘッダー php があります。このヘッダーには、jquery ライブラリへのリンクがあります。header.php をインクルードした後、queryLoader.js、jquery.easing.1.3.js へのリンクがあります。次に、スクリプトと本体の html を含む一連のコードがあります (これは、datepicker に関連付けられた html 入力がある場所です)。次に、/full/jquery.tools.min.js、jquery.effects.core.js、jquery.ui.core.js、jquery.ui.widget.js、jquery.ui.datepicker、query.ui.tooltip をリンクします。 js 、jquery-ui.css。この後、$.tools.validator.fn や serializeObject() などの関数を使用するスクリプトがさらにあります。
jquery lib を 2 回ロードしていると仮定して、/full/jquery.tools.min.js を /tiny/jquery.tools.min.js または /all/jquery.tools.min.js に変更すると、次のエラーが表示されます。 serializeObject() などの関数を含む行では、このプロパティまたはメソッドをサポートしていません。ページが読み込まれたときにこれを取得します。
すべての UI クラス リンクの後に /jquery.tools.min.js を追加すると、次のようになります。入力の datepicker 初期化の時点で、オブジェクトはプロパティまたはメソッド 'datepicker' をサポートしていません。ページが読み込まれたときにこれを取得します。
私は誰をすべきか:(