1

私はjquery datepickerを持っています

 $birth.datepicker({
        onSelect: function(dateText, inst) { 
        $(this).parent().find("label#error").html("");
        $gender.focus();
    },
        yearRange: '1950:2006',
        changeMonth: true,
    changeYear: true,           
    showOtherMonths: true,          
    selectOtherMonths: true,
    dateFormat: 'yy-mm-dd',
        defaultDate: new Date(2006,01,01),
    });

私はこのコードを変更しようとしているので、現在の年を取り、それを 10 で減算します。

$birth.datepicker({
        var currentYear = new Date();
        onSelect: function(dateText, inst) { 
        $(this).parent().find("label#error").html("");
        $gender.focus();
    },
        yearRange: '1950:document.write(currentYear.getFullYear() - 10)',
        changeMonth: true,
    changeYear: true,           
    showOtherMonths: true,          
    selectOtherMonths: true,
    dateFormat: 'yy-mm-dd',
        defaultDate: new Date(2006,01,01),
    });

上記のコードは機能しません。日付ピッカーが壊れます....これを行うためのより良い方法はありますか?

4

2 に答える 2

2

変化する:

yearRange: '1950:document.write(currentYear.getFullYear() - 10)',

に:

yearRange: '1950:-10',

これにより、1950 年から現在の年より 10 年少ない yearRange が設定されます。

jsFiddle の例

yearRange オプションのドキュメントから:

年のドロップダウンに表示される年の範囲: 今日の年に相対的 ("-nn:+nn")、現在選択されている年に相対的 ("c-nn:c+nn")、絶対 ("nnnn: nnnn")、またはこれらの形式の組み合わせ ("nnnn:-nn")。

于 2013-02-12T20:09:53.653 に答える
0

いいえ、いいえ。

datepicker関数呼び出しの外ですべての変数計算を行います。

このコードは実行できません

これを使って

var year = (new Date()).getFullYear() - 10

そして日付ピッカー初期化子で

yearRange: "1950:" + year,

それで十分なはずです

于 2013-02-12T20:09:09.097 に答える