2012-04-13 14 views
39

Ciao, voglio impostare la data minima nel mio jquery datepicker a (1999-10-25), quindi ho provato il codice sottostante non funziona.impostazione data minima in jquery datepicker

$(function() { 
    $('#datepicker').datepicker({ 
     dateFormat: 'yy-mm-dd', 
     showButtonPanel: true, 
     changeMonth: true, 
     changeYear: true, 
     showOn: "button", 
     buttonImage: "images/calendar.gif", 
     buttonImageOnly: true, 
     minDate: new Date(1999, 10 - 1, 25), 
     maxDate: '+30Y', 
     inline: true 
    }); 
}); 

** se cambio l'anno min sopra 2002 di quanto non funzionerà bene, ma se mi specificare min anno in meno rispetto al 2002 {come sopra eexample 1999} mostrerà solo fino al 2002.can qualcuno mi aiuti . sto usando jquery-1.7.1.min.js e jquery-ui-1.8.18.custom.min.js.

risposta

79
$(function() { 
    $('#datepicker').datepicker({ 
     dateFormat: 'yy-mm-dd', 
     showButtonPanel: true, 
     changeMonth: true, 
     changeYear: true, 
yearRange: '1999:2012', 
     showOn: "button", 
     buttonImage: "images/calendar.gif", 
     buttonImageOnly: true, 
     minDate: new Date(1999, 10 - 1, 25), 
     maxDate: '+30Y', 
     inline: true 
    }); 
}); 

opzione gamma anno appena aggiunto. Dovrebbe risolvere il problema

+0

Grazie uomo che funziona grazie – user1184777

+0

@Gaurv. sta funzionando bene. –

+0

bello è utile –

1

Hiya demo funzionante: http://jsfiddle.net/femy8/

Ora il calendario andrà solo al minimo di 1999/10/25.

Fare clic sull'immagine, ad esempio piccola icona accanto alla casella di testo per visualizzare il calendario. Puoi provare a selezionare fino al 1999, ma la data minima per la selezione è il 25 ottobre 1999. che è ciò che desideri.

Questo aiuterà, buona! :) Saluti!

codice jQuery

$(".mypicker").datepicker({ 
    changeYear: true, 
    dateFormat: 'yy-mm-dd', 
    showButtonPanel: true, 
    changeMonth: true, 
    changeYear: true, 
    showOn: "button", 
     buttonImage: "images/calendar.gif", 
     buttonImageOnly: true, 
     minDate: new Date('1999/10/25'), 
     maxDate: '+30Y', 
     inline: true 
}); 


​ 
13

Il problema è che l'opzione predefinita di "yearRange" è di 10 anni.

Quindi 2012 - 10 = 2002.

Quindi modificare il yearRange a c-20:c o solo 1999 (yearRange: '1999:c'), e l'uso che, in combinazione con le date limitare (MinDate, MaxDate).

Per maggiori informazioni: http://jqueryui.com/demos/datepicker/#option-yearRange


vedi esempio: http://jsfiddle.net/kGjdL/

E il codice con l'aggiunta:

$(function() { 
    $('#datepicker').datepicker({ 
     dateFormat: 'yy-mm-dd', 
     showButtonPanel: true, 
     changeMonth: true, 
     changeYear: true, 
     showOn: "button", 
     buttonImage: "images/calendar.gif", 
     buttonImageOnly: true, 
     minDate: new Date(1999, 10 - 1, 25), 
     maxDate: '+30Y', 
     yearRange: '1999:c', 
     inline: true 
    }); 
}); 
+0

buona spiegazione concisa – sockmonk

0

Voglio solo aggiungere questo solo per il futuro programmatore.

Questo codice limita la data min e max. l'anno è completamente controllato ottenendo l'anno corrente come anno massimo.

Spero che questo possa aiutare qualcuno.

Ecco il codice.

var dataToday = new Date(); var yrRange = '2014' + ":" + (dataToday.getFullYear());

$(function() { 
    $("[id$=txtDate]").datepicker({ 
     showOn: 'button', 
     changeMonth: true, 
     changeYear: true, 
     showButtonPanel: true, 
     buttonImageOnly: true, 
     yearRange: yrRange, 
     buttonImage: 'calendar3.png', 
     buttonImageOnly: true, 
     minDate: new Date(2014,1-1,1), 
     maxDate: '+50Y', 
     inline:true 
    }); 
}); 
0

Prova come questo codice html

<script> 

    $(document).ready(function(){ 
      $("#order_ship_date").datepicker({ 
      changeMonth:true, 
      changeYear:true,   
      dateFormat:"yy-mm-dd", 
      minDate: +2, 
     }); 
    }); 


</script> 

è riportata qui sotto

<input id="order_ship_date" type="text" class="input" style="width:80px;" /> 
+1

Potresti per favore elaborare più la tua risposta aggiungendo un po 'più di descrizione della soluzione che fornisci? – abarisone

0

in fondo se si dispone già di specificare l'anno Portata non v'è alcuna necessità di utilizzare mindate e maxdate se solo anno è richiesto

2

Nel caso in cui se per esempio è necessario mettere un min data, negli ultimi 3 mesi e la data massima prossimi 3 mesi

$('#id_your_date').datepicker({ 
    maxDate: '+3m', 
    minDate: '-3m' 
});