Frage

habe ich eine Datepicker auf einem Bewerbungsformular. Wir erlauben nur Anwendungen, bei denen das Datum der Geburt in einem bestimmten Altersbereich ist. Ich ermöglichte ChangeYear und stellen Sie die YearRange auf „-65: 16“. Die Probleme, die ich habe, sind wie folgt:

1 - Wenn ich ein Datum ohne erste Auswahl etwas im Jahr Drop-Down wählen, bekomme ich den richtigen Monat und Tag, aber ich 2016 als ein Jahr.

2 - Der Versuch, dieses Ich zu beheben stellen Sie die YearRange zu "n-65: n-16". Das bewirkt, dass das Jahr Dropdown-Liste nur das aktuelle Jahr angezeigt werden (2010). Auch eigenartiger ist, dass wenn Sie ein Datum auswählen, haben Sie immer den richtigen Monat und Tag bekommen, und das Jahr 2016.

Hier ist der Code, den ich die Datepicker Setup verwenden:

    <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>

Ich hoffe, das ist etwas, was ich falsch gemacht habe, und jemand kann mir sagen, was das ist. Vielen Dank für jede Hilfe.

War es hilfreich?

Lösung

Versuchen Sie es mit 'c' für das laufende Jahr wie:

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

Für weitere Informationen Ansicht http://api.jqueryui.com/datepicker/#option- yearRange

Andere Tipps

Überprüfen Sie Ihre defaultDate Einstellung. Ich kann nur sehen, was Sie beschreiben, wenn ich das Standarddatum des angegebenen Jahres Bereich etwas außerhalb ändern (d ‚2016.01.01‘.) Alles andere in dem Code, den Sie für mich gearbeitet geposted.

Stumbled auch auf diese. Ich habe es nicht weiter erforschen, aber der Anruf um scheint einen Unterschied zu machen.

das funktioniert:

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

Dies zeigt das Jahr listbox mit nur 2010:

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

Versuchen Sie, den Bereich mit aktuellen Jahreswerten geben. z.

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

Sie sollten auch mit jedem Datumsformat arbeiten.

Versuchen Sie, die MaxDate und minDate Option wie:

$(document).ready(function () {
    $("#datepicker").datepicker({
        yearRange: '-65:-13',
        changeMonth: true,
        changeYear: true,
        defultDate: '1-1-1994',
        dateFormat: 'mm-dd-yy',
        minDate:"-65Y",
        maxDate:"-13Y" 
    });
});
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top