如何使用JavaScript在下拉框中增加年份

时间:2014-01-21 02:43:09

标签: javascript jquery jsp

由于我对JavaScript的了解非常少,因此无法找出解决方案。 我想尝试使用JavaScript

每年更改年份时在下拉列表中增加年份

我在下面的代码中尝试了这个。

function increment()
{
    var temp=document.getElementById("reviewYear_ID");
    var d = new Date();
    var len = temp.options.length;
    if(temp[len-1].value!=d.getFullYear())
    {
        var opt = document.createElement("option");
        var year =   d.getFullYear();
        opt.value=year;
        opt.text=year;
        temp.add(opt,len);
    }
}

JSP代码:

<s:select list="#{'2012':'2012'}" headerKey="-11" 
    cssStyle="font-style: arial;font-size: 13px;"
    headerValue="--Select the Year--" name="reviewYear" id="reviewYear_ID"
    theme="simple"  >
  </s:select>

每当年度更改时,将年份添加到下拉列表中,但实际上在下拉列表中替换前一年

例如..在下拉列表中,我们2012根据我的代码假设今年为2013,每当2013年1月1日到来时它会将2013年添加到下拉菜单中。我已将本地系统中的年份更改为2014并尝试使用此代码    它添加2014但替换之前添加的2013我想要附加到该下拉值。

1 个答案:

答案 0 :(得分:2)

如果我理解正确,您希望从选择框中的去年到当年添加每年的选项。 This fiddle就是这么做的。尝试使用此代码代替当前的增量函数:

function increment(){
  var temp=document.getElementById("reviewYear_ID");
  var d = new Date();
  var len = temp.options.length;
  var start = temp[len-1].value;
  for(var i=parseInt(start); i < d.getFullYear(); i++){
    var opt = document.createElement("option");
    var year = i+1;
    opt.value=year;
    opt.text=year;
    temp.add(opt,len);
  }
}

我们每年都会加入,直到今年为止。当然,修复JSP代码以使用list="#{'2012':'2014'}"之类的东西可能更好。我不知道该怎么做,因为我不知道JSP是什么,但这不是你要求的。