由于我对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
我想要附加到该下拉值。
答案 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是什么,但这不是你要求的。