[英]loop through associative array in Javascript
不知道我要去哪里錯,但是以下代碼似乎將我的選擇選項值列出為0-11而不是1-12
動態生成的HTML
<select id="Month" name="month">
<option value="0">January</option>
<option value="1">Feburary</option>
<option value="2">March</option>
<option value="3">April</option>
<option value="4">May</option>
<option value="5">June</option>
<option value="6">July</option>
<option value="7">August</option>
<option value="8">September</option>
<option value="9">October</option>
<option value="10">November</option>
<option value="11">December</option>
</select>
JAVASCRIPT
var months = new Array();
months[1] = 'January';
months[2] = 'Feburary';
months[3] = 'March';
months[4] = 'April';
months[5] = 'May';
months[6] = 'June';
months[7] = 'July';
months[8] = 'August';
months[9] = 'September';
months[10] = 'October';
months[11] = 'November';
months[12] = 'December';
for(var i = 0; i<12; i++ ){
month = months[i+1];
option ="<option value='"+i+"'>"+month+"</option>"
options = options+option;
}
$('#month').html(' <select id="' + this.id +'" name="' + this.id + '">'+options+'</select>');
更改此:
option ="<option value='"+(i+1)+"'>"+month+"</option>"
或者更好:
for(var i = 1; i<=12; i++ )
所以換行
option ="<option value='"+i+"'>"+month+"</option>"
至
option ="<option value='"+(i+1)+"'>"+month+"</option>"
在for循環中,您沒有在第1行(i + 1)中增加i的值。 因此,循環為0-11。 你為什么不跟
for (var i = 1; i < 13; ++i){
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.