jQuery datepicker与当前年份 - 10

时间:2013-02-12 20:04:42

标签: javascript jquery datepicker

我有像这样的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),
    });

上面的代码不起作用,它打破了我的日期选择器....是否有更好的方法来做到这一点?

2 个答案:

答案 0 :(得分:2)

变化:

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

为:

yearRange: '1950:-10',

这将使1950年的年份数量比当年减少10年。

<强> jsFiddle example

来自yearRange选项的documentation

  

年份下拉列表显示的年份范围:相对于   今天的年份(“-nn:+ nn”),相对于当前选定的年份   (“c-nn:c + nn”),绝对(“nnnn:nnnn”)或这些的组合   格式(“nnnn:-nn”)。

答案 1 :(得分:0)

没有家伙没有。

datepicker函数调用之外进行所有变量计算。

此代码无法运行。

使用此

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

和datepicker初始值设定项

yearRange: "1950:" + year,

那应该够了