2017-11-26 17 views
0

私はサイクルの結果からselectオプションを設定しようとしていますが、動作させることができません。私はselectのonclickから関数を呼び出しますが、それは機能しません。Populate Select with Javascript

ここでは動作しているJSのフィドルはありません。機能はありますが、機能に入る必要があります。

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

そして、ここで私は仕事に取得しようとしているものです。

http://jsfiddle.net/t8fdh/612/

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); 
 
    } 
 
};
<select id="selectElementId" onload="populate()"></select>

+4

'がロードされているとは本当に意味がありません。 –

答えて

1

select要素にonloadを使用して、window.onload = populate();

を使用してwindow loadpopulate()機能の実行を追加してみてくださいなぜ

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

+0

さらに、「onDOMContentLoaded」です。 –

+0

@Derek朕會功夫はい、確かに – M0ns1f

0

https://www.w3schools.com/tags/ev_onload.aspによると、あなただけの次のタグにonloadイベントを使用することができます。

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

あなたはbodyタグであなたのonloadを置くことができ、それが動作します:)