web-dev-qa-db-fra.com

définition de la date minimale dans jquery datepicker

Bonjour, je souhaite définir la date limite dans mon jquery datepicker sur (1999-10-25). J'ai donc essayé le code ci-dessous, il ne fonctionne pas.

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

** Si je modifie l'année minimum au-dessus de 2002, cela fonctionnera correctement, mais si je spécifie une année minimum inférieure à 2002 {comme ci-dessus, exemple 1999}, cette option ne s'affichera que jusqu'en 2002.Peut-on m'aider? J'utilise jquery-1.7.1.min.js et jquery-ui-1.8.18.custom.min.js.

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

Vient d’ajouter une option de gamme d’année. Cela devrait résoudre le problème

89
Gaurav

Le problème est que l'option par défaut de "yearRange" est 10 ans.

Alors 2012 - 10 = 2002.

Changez donc yearRange en c-20:c ou 1999 (yearRange: '1999:c') et utilisez-le en combinaison avec restreindre les dates (mindate, maxdate).

Pour plus d'informations: http://jqueryui.com/demos/datepicker/#option-yearRange


Voir exemple: http://jsfiddle.net/kGjdL/

Et votre code avec l'addition:

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

Juste au cas où si vous avez par exemple besoin de mettre une date minimale, les 3 derniers mois et une date maximale de 3 mois

$('#id_your_date').datepicker({ 
   maxDate: '+3m',
   minDate: '-3m'
 });
2
Ezequiel García

Je veux juste ajouter ceci pour le futur programmeur.

Ce code limite les dates min et max . L'année est entièrement contrôlée en obtenant l'année en cours comme max.

J'espère que cela pourrait aider n'importe qui.

Voici le code.

var dateToday = new Date();
var yrRange = '2014' + ":" + (dateToday.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
    });
});
1
rthonz

Hiya démo de travail: http://jsfiddle.net/femy8/

Maintenant, le calendrier ira au minimum du 1999-10-25.

Cliquez sur l'image, c'est-à-dire une petite icône en regard de la zone de texte pour que l'agenda apparaisse. Vous pouvez essayer de sélectionner jusqu’en 1999, mais la date minimale de sélection est le 25 octobre 1999. C’est ce que vous voulez.

Cela aidera, ayez un Nice! :) à votre santé!

Jquery Code

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


​
1
Tats_innit

en gros, si vous spécifiez déjà la période de l'année, il n'est pas nécessaire d'utiliser mindate et maxdate si seule l'année est requise

0
Roshan

Essayez comme ça

<script>

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


</script>

le code html est donné ci-dessous

<input id="order_ship_date"  type="text" class="input" style="width:80px;"  />
0
kanhaiya kumar