使用Javascript填充选择

时间:2017-11-26 00:22:25

标签: javascript html

我尝试使用for循环的结果填充选择选项,但我无法让它工作。我从选择的onclick中调用该函数,但它不起作用。

这是一个工作的JS小提琴没有这个功能,但我需要它在一个函数中。

Eclipse bug 486035 - Different classpath containers for different scopes

这就是我想要去工作的地方。

http://jsfiddle.net/t8fdh/610/



function populate() {
    var max = new Date().getFullYear() + 1,
        min = max - 9,
        select = document.getElementById('selectElementId');

    for (var i = min; i <= max; i++) {
        var opt = document.createElement('option');
        opt.value = i;
        opt.innerHTML = i;
        select.appendChild(opt);
   }
};
&#13;
<select id="selectElementId" onload="populate()"></select>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:1)

如果您使用document.onload();

,则有效

的jsfiddle: http://jsfiddle.net/t8fdh/616/

答案 1 :(得分:1)

为什么在onload元素上使用select,请尝试使用populate()

window load上添加window.onload = populate();函数的执行

&#13;
&#13;
window.onload = populate();
function populate() {
var max = new Date().getFullYear() +1;
var min = max - 9;
    select = document.getElementById('selectElementId');
    
			for (var i = min; i<=max; i++){
  		  var opt = document.createElement('option');
  		  opt.value = i;
  		  opt.innerHTML = i;
  		  select.appendChild(opt);
		}
};
&#13;
<select id="selectElementId" ></select>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

根据https://www.w3schools.com/tags/ev_onload.asp,您只能对以下标记使用onload:

<body>, <frame>, <frameset>, <iframe>, <img>, <input type="image">, <link>, <script> and <style>

你可以将你的onload放在body标签上,它会起作用:)