10

申請書に日付ピッカーがあります。生年月日が一定の年齢範囲内にある方のみご応募いただけます。ChangeYear を有効にし、YearRange を「-65:-16」に設定しました。私が抱えている問題は次のとおりです。

1 - 最初に年のドロップダウンで何かを選択せず​​に日付を選択すると、正しい月と日が表示されますが、2016 が年として表示されます。

2 - これを修正しようとして、YearRange を「n-65:n-16」に設定しました。これにより、年のドロップダウンには現在の年 (2010 年) のみが表示されます。さらに奇妙なのは、日付を選択しても、正しい月と日、そして 2016 年が得られることです。

日付ピッカーをセットアップするために使用するコードは次のとおりです。

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

これが私が間違ったことをしたことを願っています。誰かがそれが何であるかを教えてくれます。助けてくれてありがとう。

4

5 に答える 5

20

次のように、現在の年に「c」を使用してみてください。

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

詳細については、http://api.jqueryui.com/datepicker/#option-yearRangeを参照してください。

于 2012-10-24T08:43:41.263 に答える
1

次のような maxDate および minDate オプションを使用してみてください。

$(document).ready(function () {
    $("#datepicker").datepicker({
        yearRange: '-65:-13',
        changeMonth: true,
        changeYear: true,
        defultDate: '1-1-1994',
        dateFormat: 'mm-dd-yy',
        minDate:"-65Y",
        maxDate:"-13Y" 
    });
});
于 2015-06-29T08:42:45.677 に答える
1

defaultDate の設定を確認してください。デフォルトの日付を指定された年の範囲外 (つまり、「1-1-2016」) に変更した場合にのみ、あなたが説明していることを確認できます。投稿したコードの他のすべてが機能しました。

于 2011-01-13T15:55:06.443 に答える
1

実際の年の値で範囲を指定してみてください。例えば

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

また、どの日付形式でも機能する必要があります。

于 2013-04-05T05:14:13.553 に答える
1

これにもぶち当たりました。私はそれ以上調査しませんでしたが、呼び出し順序が違いを生むようです。

これは機能します:

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

これは、2010年のみの年リストボックスを示しています:

$('DIV#startdate').datepicker( 'option', { dateFormat: 'yy-mm-dd' } );
$('DIV#startdate').datepicker( 'option', { changeYear: true } );
$('DIV#startdate').datepicker( 'setDate', '10-09-11' );
于 2011-02-01T14:43:37.547 に答える