填充下拉选项 - javascript

时间:2014-07-16 14:53:18

标签: javascript html

我使用javascript来填充我的选择的选项,并且无法理解出错的地方。 我正在尝试将日期输入到选择选项中,但它只添加了2003-2004。

这是我的javascript函数:

function populateDropDown(previousYear, currentYear) {
    console.log(previousYear)
    console.log(currentYear)
    var prevYear
    var curYear
    var i
    var y = document.getElementById("membershipYear");
    var option = document.createElement("option");
    for(i = 1;i <= 10;i++) {
        prevYear = previousYear - i
        curYear = currentYear - i
        console.log(prevYear + "-" + curYear)
        option.text = prevYear + "-" + curYear
        y.add(option,y[i])
    }
}

在我的控制台日志中打印是这样的:

2012-2013
2011-2012
2010-2011
2009-2010
2008-2009
2007-2008
2006-2007
2005-2006
2004-2005
2003-2004 

任何帮助表示赞赏

2 个答案:

答案 0 :(得分:0)

您必须将createElement移动到循环中,如下所示:

function populateDropDown(previousYear, currentYear) {
console.log(previousYear)
console.log(currentYear)
var prevYear
var curYear
var i
var y = document.getElementById("membershipYear");

for(i = 1;i <= 10;i++) {
    var option = document.createElement("option");
prevYear = previousYear - i
curYear = currentYear - i
console.log(prevYear + "-" + curYear)
option.text = prevYear + "-" + curYear
y.add(option,y[i])
}
}

答案 1 :(得分:0)

每次都需要创建选项元素然后添加Dropdown,否则每次都会覆盖操作。

var option = document.createElement("option");保留到for循环中,这样每次都会创建新选项。