2014-01-21 23 views
0

由于我对JavaScript的知识非常少,因此无法找出解决方案。 我想增加下拉列表中每年使用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我想要附加到该下拉值。

回答

2

如果我对此有所了解,您希望为选择框中的上一年到当前年份的每一年添加一个选项。​​就是这么做的。尝试在地方当前的递增功能的验证码

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是什么,但这不是你问的问题。

+0

@looser我删除了所有这些毫无意义的评论。现在我们已经有了最终的正确解决方案,评论中没有提供真实的信息,可以将其删除以防止未来观众混淆。如果你愿意,你可以做同样的事情。你非常欢迎。乐意效劳。 – DutGRIFF

+0

如果你不介意多一件事..如何排序这些年.. ..? – Babel

+0

它们按递增顺序添加。他们将被排序。如果您想将它们更改为从当前日期列表到最早日期,则必须多做一点。在另一个问题中发布,如果你无法弄清楚。这真的是它自己的问题。 – DutGRIFF