我使用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
任何帮助表示赞赏
答案 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循环中,这样每次都会创建新选项。