2013-05-03 25 views
7

Ich habe zwei jQuery datepickers, um eine von und bis Daten auszuwählen. Ich habe den folgenden Code, wenn Sie den 15. Juni in der ersten und dann in der zweiten wählen, können Sie jetzt nur ab dem 15. wählen.jquery datepicker set mindate

Das Problem, das ich habe, ist, dass ich wirklich die zu Datepicker zu +1 Tag setzen muss. So konnte der Benutzer erst ab 16 auswählen.

Meine Fähigkeiten sind nicht genug fortgeschritten, das Datum zu dem parseDate

$(function() { 
     var dates = $("#from_date, #to_date").datepicker({ 
     dateFormat: 'dd-mm-yy', 
     minDate: 0, 
     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); 
      } 
    }); 
    }); 
+0

ich sehe 'minDate: 0,' könnte dies geändert werden, um Ihre Zwecke zu erfüllen? –

+0

Ja, ich habe bereits funktioniert Einstellung der min-Datum, ich muss nur die Möglichkeit hinzufügen, einen Tag zu den oben genannten Datumscode hinzuzufügen –

Antwort

17

Zur Begrenzung einer Datumsauswahl hinzufügen basierend auf der anderen Seite man die minDate und maxDate Einstellungen auf das Datum in der anderen ausgewählten einstellen picker usw. .

So etwas wie dies

$(function() { 

    /* global setting */ 
    var datepickersOpt = { 
     dateFormat: 'dd-mm-yy', 
     minDate : 0 
    } 

    $("#from_date").datepicker($.extend({ 
     onSelect: function() { 
      var minDate = $(this).datepicker('getDate'); 
      minDate.setDate(minDate.getDate()+2); //add two days 
      $("#to_date").datepicker("option", "minDate", minDate); 
     } 
    },datepickersOpt)); 

    $("#to_date").datepicker($.extend({ 
     onSelect: function() { 
      var maxDate = $(this).datepicker('getDate'); 
      maxDate.setDate(maxDate.getDate()-2); 
      $("#from_date").datepicker("option", "maxDate", maxDate); 
     } 
    },datepickersOpt)); 
}); 
Verwandte Themen