1

到着と出発の2つの日付ピッカーがあります。ここで、到着時に4月26日を選択した場合、出発日ピッカーは4月(現在は3月)に事前に選択する必要があります。では、どうすればこれを実装できますか?

私は次のことを試しました:

$( "#arrival" ).datepicker({
    buttonImage: 'fileadmin/templates/images/calendar.png',
    buttonImageOnly: true,
    changeMonth: true,
    changeYear: true,
    showOn: 'both',
    buttonText: 'arrival',
    onSelect: function(){
        var arrivalDate = $(this).datepicker('getDate').getDate();
        var arrivalMonth = $(this).datepicker('getDate').getMonth();
        var arrivalYear = $(this).datepicker('getDate').getFullYear();
        $('#departure').datepicker({ defaultDate: new Date(arrivalYear,arrivalMonth,01) });
    }
});
$( "#departure" ).datepicker({
    buttonImage: 'fileadmin/templates/images/calendar.png',
    buttonImageOnly: true,
    changeMonth: true,
    changeYear: true,
    showOn: 'both',
buttonText: 'departure'
}); 

setDate不要なテキスト入力フィールドに入力します。これは可能ですか?

4

2 に答える 2

1

問題

現在、コールバックで、オプションを変更するために要素onSelectを再初期化しようとしています。departuredefaultDate

$('#departure').datepicker({ defaultDate: new Date(arrivalYear,arrivalMonth,01) });

ただし、初期化後、要素を再初期化せずdatePickerに、オプションを次の形式で設定する必要があります。

datePicker('option','some-option','some-option-value').

解決

正しい形式を使用して、要素のdefaultDateオプションを設定します。depature

例えば:

...
var departure_date = new Date(arrivalYear,arrivalMonth,01);
$('#departure').datepicker('option','defaultDate', departure_date);
...

jsFiddleデモを見る

于 2013-03-01T10:43:50.163 に答える
0

最初に値を計算してから、次のように設定します

$( "#departure" ).val($("#arrival").val())datepicker(
 ......

);
于 2013-03-01T10:30:29.587 に答える