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

这会将 yearRange 从 1950 年设置为比当前年份少 10 年。

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