2012-05-09 31 views
2

日付表記の2つのテキストフィールドを持つホテル予約用の2つの日付ピッカーがあります。誰かが最初の日付ピッカーで日付を選択した場合、2番目の日付ピッカーは自動的に同じ日付をテキストフィールド2に入力します。同じ日付ではなく、テキストフィールド2で翌日の日付を入力するようにスクリプトを変更するにはどうすればよいですか?jquery datepicker range - 自動的に翌日を表示します

マイコード

$(function() { 
var dates = $("#from, #to").datepicker({ 
showOn: "both", 
buttonImage: "fileadmin/template/datepicker/img/kalender.png", 
buttonImageOnly: true, 
defaultDate: "+1w", 
changeMonth: true, 
numberOfMonths: 1, 
onSelect: function(selectedDate) { 
    var option = this.id == "from" ? "minDate" : "maxDate", 
    instance = $(this).data("datepicker"); 
    date = $.datepicker.parseDate(
     instance.settings.dateFormat || 
     $.datepicker._defaults.dateFormat, 
     selectedDate, instance.settings); 
    dates.not(this).datepicker("option", option, date); 
} 
});  

答えて

3

onSelectイベントにこのコードを試してみてください。

onSelect: function(selectedDate) { 
    var option = this.id == "from" ? "minDate" : "maxDate"; 
    var date = new Date($(this).datepicker('getDate')); 
    date.setDate(date.getDate() + 1); 
    dates.not(this).datepicker("option", option, date); 
} 
+0

このソリューションは完璧に動作します。どうもありがとうございました! – kalle

+0

あなたは歓迎です;) – VisioN

0
$(function() { 
    var dates = $("#from, #to").datepicker({ 
     showOn: "both", 
     buttonImage: "fileadmin/template/datepicker/img/kalender.png", 
     buttonImageOnly: true, 
     defaultDate: "+1w", 
     changeMonth: true, 
     numberOfMonths: 1, 
     onSelect: function(dateText, inst) { 
      var option = this.id == "from" ? "minDate" : "maxDate", 
       actualDate = new Date(dateText); 
      var newDate = new Date(actualDate.getFullYear(), actualDate.getMonth(), actualDate.getDate() + 1); 
      dates.not(this).datepicker("option", option, newDate); 
     } 
    }); 
}); 

DEMO

+0

OPが 'dateFormat'を変更すると動作しないかもしれません。 – VisioN

+0

は私の設定では動作しませんが、ご返信いただきありがとうございます – kalle

関連する問題