javascript - 数组元素的未定义值

标签 javascript jquery

我有一个月份名称数组,想要附加选择元素,但在使用 for 循环传递它时显示未定义的值。 代码如下

var month = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'June', 'July', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec'];

for(var i = 0 ; i < month.length ;i++ ){
  $(document).ready(function(){ 
   $('#date').append("<option >"+ month[i] +"</option>");
  }
});

最佳答案

它在 DOM 准备好之前进行迭代。您希望 for 循环位于 $(document).ready 函数调用的内部

var month = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'June', 'July', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec'];
var monthday = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31];
var years = [ 1970,  1971,  1972,  1973,  1974,  1975,  1976,  1977,  1978,  1979,  1980,  1981,  1982,  1983,  1984,  1985,  1986,  1987,  1988,  1989,  1990,  1991,  1992,  1993,  1994,  1995,  1996,  1997,  1998,  1999,  2000,  2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017 ];

//append month to the date
$(document).ready(function(){ 
  for (var i = 0; i < month.length; i++) {
    console.log(i);
    $('#date').append("<option >"+ month[i] +"</option>");
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<select id="date"></select>

关于javascript - 数组元素的未定义值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46964497/

相关文章:

javascript - 克隆后 div 内的按钮不起作用

javascript - 通过 `map`函数调用传入key

javascript - 超时后图像不会重新出现在正确的位置

javascript - javascript中前置加号的含义

javascript - 何时更喜欢 JSON 而不是 XML?

javascript - 使用 jQuery 获取所有 DOM 元素的最佳方式

javascript - foo += 1 被认为是功能性的吗?

javascript - 是否可以使用 JavaScript 从 Excel 电子表格中获取特定的单元格值?

javascript - 如何定位固定元素

jQuery AJAX 仅获取标题并决定是否获取内容