2013-02-01 22 views
6

Mam ustawiacz daty i pracy jQuery, ale chciałbym pomóc w ustawieniu opcji minDate i maxDate. Mój obecny kod znajduje się poniżej (bez tych opcji). Jak ustawić minDate na 3 miesiące przed defaultDate, a maxDate na 28 dni po defaultDate?jQuery DatePicker Min. Maks. Daty

var expdisp = $("#expdisp").attr("value"); 

$("#expirydate").datepicker({ 
    showOn: "button", 
    buttonImage: "images/calendar.gif", 
    buttonImageOnly: true, 
    dateFormat: "dd/mm/yy", 
    defaultDate: expdisp, 
    showOtherMonths: true, 
    selectOtherMonths: true, 
    changeMonth: true, 
    changeYear: true, 
}); 

Odpowiedz

12
$(function() { 

    $("#datepicker").datepicker({ 
     changeYear: true, 
     minDate: '-3M', 
     maxDate: '+28D', 
    }); 
}); 

JSFiddle Demo

UPDATE

Można obliczyć turystycznej min, max ważne daty z datą domyślną, a następnie przypisać je do selektora dat.

var expdisp = $("#expdisp").attr("value"); 

$("#expirydate").datepicker({ 
    showOn: "button", 
    buttonImage: "images/calendar.gif", 
    buttonImageOnly: true, 
    dateFormat: "dd/mm/yy", 
    defaultDate: expdisp, 
    showOtherMonths: true, 
    selectOtherMonths: true, 
    changeMonth: true, 
    changeYear: true, 

    minDate: '-3M', 
    maxDate: '+28D', 
}); 

Update Demo

+1

To jest obliczane z "dzisiaj", a nie z wartości "defaultDate" – Rob

+0

@Rob - Znajdź wersję demo – MuhammadHani

+0

Dzięki temu nadal obliczamy min/max od dzisiaj. Posortowałem go teraz - obliczam wartości w PHP, a następnie przekazuję je podczas inicjowania datePicker. – Rob

0

Twój może próbować:

var expdisp = $("#expdisp").attr("value"); 

$("#expirydate").datepicker({ 
    showOn: "button", 
    buttonImage: "images/calendar.gif", 
    buttonImageOnly: true, 
    dateFormat: "dd/mm/yy", 
    defaultDate: expdisp, 
    showOtherMonths: true, 
    selectOtherMonths: true, 
    changeMonth: true, 
    changeYear: true, 

    minDate: -3M, 
    maxDate: +28D 
}); 
+0

Próbowałem tego, ale wartości są obliczone z „dzisiaj”, a nie to, co jest w „defaultDate” – Rob

+0

Ooppps. Co powiesz na to: http://stackoverflow.com/questions/7395771/jquery-ui-datepicker-maxdate Po prostu prześlij swoją datę do funkcji i użyj jej w var maxDate = new Date (defaultDate); – SteveW

2

MaxDate: - Ustawia maksymalny termin, który może być wybrany. Akceptuje obiekt daty lub względną liczbę. Na przykład: +7 lub ciąg, na przykład + 6m.

minDate: - Ustawia minimalną datę, którą można wybrać. Akceptuje numer, obiekt daty lub ciąg znaków.

$(document).ready(function() { 
    $("#date").datepicker({ 
     minDate: -3, 
     maxDate: "1w" 
    }); 

});

Patrz: - set Minimum and maximum date to jquery datepicker

0

Można również stosować konkretne zakresy dat. Dodałem min. Datę początkową z maks. 14D. Musisz tylko pamiętać, aby zachować zgodność z formatem daty i użyć "/" zamiast "-" pomiędzy MM/DD/RRRR.

$('#Date').datepicker({ 
 
    changeMonth: true, 
 
    minDate: '10/19/2016', 
 
    maxDate: '+14D', 
 
});

Powiązane problemy