Question

J'ai un datepicker sur un formulaire de demande. Nous permettons uniquement les applications où la date de naissance est dans une certaine tranche d'âge. Je ChangeYear et a permis mis le YearRange à « -65: -16 ». Les problèmes que je rencontrais me sont les suivantes:

1 - Lorsque je sélectionne une date sans avoir d'abord quelque chose de sélectionner dans le menu déroulant de l'année, je reçois le bon mois et le jour, mais je reçois 2016 comme année.

2 - Essayer de résoudre ce problème, je mis le YearRange à "n-65: n-16". Cela provoque le menu déroulant de l'année pour afficher uniquement l'année en cours (2010). Même plus étrange est que si vous sélectionnez une date, vous obtenez toujours le bon mois et le jour, et l'année 2016.

Voici le code que j'utilise pour configurer le datepicker:

    <script type="text/javascript">
    $(document).ready(function (e) {
        Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);

        function EndRequestHandler(sender, args) {
            $(function () {
                $("#DateOfBirth").datepicker({ yearRange: '-65:-13', changeMonth: true, changeYear: true, defaultDate: '1-1-1994', dateFormat: 'mm-dd-yy' })
            });
        }

        $(function () {
            $("#DateOfBirth").datepicker({ yearRange: '-65:-13', changeMonth: true, changeYear: true, defaultDate: '1-1-1994', dateFormat: 'mm-dd-yy' })
        });
    });
</script>

J'espère que c'est quelque chose que je l'ai fait mal, et que quelqu'un peut me dire ce qui est. Merci pour toute aide.

Était-ce utile?

La solution

Essayez d'utiliser 'c' pour l'année en cours comme:

$('.datepicker').datepicker({changeYear: true, yearRange : 'c-65:c+10'});

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

Autres conseils

Vérifiez votre réglage defaultDate. Je ne peux voir ce que vous décrivez quand je change la date par défaut à quelque chose en dehors de la plage de l'année spécifiée (à savoir « 01/01/2016 ».) Tout le reste dans le code affiché a fonctionné pour moi.

Nous sommes tombés sur aussi. Je ne l'ai pas davantage la recherche, mais l'ordre d'appel semble faire une différence.

travaux:

$('DIV#startdate').datepicker( 'option', { dateFormat: 'yy-mm-dd' } );
$('DIV#startdate').datepicker( 'setDate', '10-09-11' );
$('DIV#startdate').datepicker( 'option', { changeYear: true } );

montre la listbox année avec seulement 2010:

$('DIV#startdate').datepicker( 'option', { dateFormat: 'yy-mm-dd' } );
$('DIV#startdate').datepicker( 'option', { changeYear: true } );
$('DIV#startdate').datepicker( 'setDate', '10-09-11' );

Essayez de donner la plage avec des valeurs réelles année. par exemple.

$('.datepicker').datepicker({changeYear: true, yearRange : '1990:2010'})

Ils devraient également travailler avec tout dateformat.

Essayez d'utiliser l'option maxDate et MinDate comme:

$(document).ready(function () {
    $("#datepicker").datepicker({
        yearRange: '-65:-13',
        changeMonth: true,
        changeYear: true,
        defultDate: '1-1-1994',
        dateFormat: 'mm-dd-yy',
        minDate:"-65Y",
        maxDate:"-13Y" 
    });
});
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top