Jquery Date Pickerの選択した日付を動的に動的に変更するにはどうすればよいですか?私はインライン日付ピッカーを作成したと言っています。その後、しばらくして、日付ピッカーを最初から作成し直さずに、別の日付を反映したいと思います。
SetDateメソッドを試しましたが、機能しませんでした。また、 doc にはあまりドキュメントがありません。
別の(拡張?)プラグイン here がありますが、jquery.ui.all.jsに同梱されているプラグインを使用します。
どのバージョンのjQuery-UIを使用していますか? 1.6r6、1.7、1.7.1で以下をテストしましたが、動作します:
//Set DatePicker to October 3, 2008
$('#dateselector').datepicker("setDate", new Date(2008,9,03) );
MinDateまたはmaxDateオプションが設定されている場合、設定しようとしている日付が許可された日付範囲内にあることを確認してください。
この例では、ドロップダウンカレンダーのデフォルト値とテキストボックスの値を使用する方法を示します。また、デフォルト値を前の日付に設定する方法も示します。
selectedDateは、カレンダーコントロールの現在の選択日付を保持する別の変数です
var date = new Date();
date.setDate(date.getDate() - 1);
$("#datepicker").datepicker({
dateFormat: "yy-mm-dd",
defaultDate: date,
onSelect: function () {
selectedDate = $.datepicker.formatDate("yy-mm-dd", $(this).datepicker('getDate'));
}
});
$("#datepicker").datepicker("setDate", date);
キース・ウッドのDatePicker( http://keith-wood.name/datepickRef.html )では次のように動作することに注意してください-デフォルトの日付の設定は最後であることに注意してください:
$('#datepicker').datepick({
minDate: 0,
maxDate: '+145D',
multiSelect: 7,
renderer: $.datepick.themeRollerRenderer,
***defaultDate: new Date('1 January 2008')***
});
何らかの理由で、場合によってはsetDateを機能させることができませんでした。
私が見つけた回避策は、単に指定された入力の値属性を更新することです。もちろん、datepicker自体は更新されませんが、探しているのが日付を表示するだけであれば、正常に機能します。
var date = new Date(2008,9,3);
$("#your-input").val(date.getMonth()+"/"+date.getDate()+"/"+date.getFullYear());
// Will display 9/3/2008 in your #your-input input
$('.date-pick').datePicker().val(new Date()).trigger('change')
最後に、私が最後の数時間を探していること!テキストフィールドの設定日だけでなく、変更を開始する必要があります。
これは古いスレッドですが、使用方法についての情報を提供したいだけです。今日の日付を設定する場合は、次のように適用できます。
$("#datepickerid").datepicker("setDate", "0");
現在の日付の前後に何日かを設定したい場合は、以下のように希望する日数のシンボル-/+
シンボルを使用します。
$("#datepickerid").datepicker("setDate", "-7");
$("#datepickerid").datepicker("setDate", "+5");
setDateは、jquery UIで使用されるインライン日付ピッカーの問題であると思われます。特定のエラーは、InternalError:too too recursionです。
これは私のために働く:
$("#dateselector").datepicker("option", "defaultDate", new Date(2008,9,3));
Htmlでは、このような日付ピッカーを使用して入力フィールドを追加できます
<input class="form-control date-picker fromDates" id="myDate" type="text">
Javaスクリプトで、datepickerを初期化し、値を次のような日付に設定します。
$('.fromDates').datepicker({
maxDate: '0',
dateFormat: "dd/mm/yy",
changeYear: true,
changeMonth: true,
yearRange: "-100:+0"
});
var myDateVal = moment('${value}').format('DD/MM/YYYY');
$('#myDate').datepicker().datepicker('setDate', myDateVal );
(ここではfromdate属性は現在の日付の前の日付を示します)
SetDateメソッドにも多くの問題がありました。 v1でのみ機能するようです。ただし、dpSetSelectedメソッドを使用しているように見えます:
$("#dateselector").dpSetSelected(new Date(2010, 0, 26).asString());
がんばろう!