2014-01-21 25 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