2013-05-03 20 views
7

Mam dwa datepickery jQuery, aby wybrać daty z i na daty. Mam następujący kod, który jeśli wybierzesz 15 czerwca w pierwszym, a następnie w drugim, możesz wybrać tylko od 15-tego.Zestaw datepicker jquery set mindate

Problem, który mam, naprawdę muszę ustawić na datepicker na +1 dzień. Tak więc użytkownik mógł wybrać tylko 16. miejsce.

Moje umiejętności nie są wystarczająco zaawansowana, aby dodać datę do 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

widzę 'minDate: 0,' może to być zmienione spełnić swoje cele? –

+0

Tak, mam już ustawione ustawienie daty min, wystarczy dodać możliwość dodania jednego dnia do powyższego kodu daty –

Odpowiedz

17

Aby ograniczyć jeden datepicker na podstawie innych, można skonfigurować ustawienia minDate i maxDate z wybranym w drugiej datepicker itp daty .

coś takiego

$(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)); 
});