1

動的に生成される数があり、この数のオプション要素を選択に追加したいと考えています。これを行うには for ループが最適な方法だと思います。数値を含む変数が var 番号であるとします。助けてくれてありがとう。

私の開始HTMLは次のとおりです。

<select id="test">

</select>

Javascript を使用すると、次のようなものが必要になります。

function selectOne() {
  var select = document.getElementById('test');
 // for loop goes here?
 //   e.select[0] = new Option(number);  // do this n times with value also equaling number

}

したがって、数値 = 6 の場合、結果の HTML は次のようになる必要があります。

<select id="test">  
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select>
4

2 に答える 2

4

これは n 個のオプションを構築します:

function selectOne() {
  var select = document.getElementById('test');
  for (var i=0; i<n; i++) {
     select.options[select.options.length] = new Option(i+1, i);
  } 
}

デモンストレーション

于 2012-10-11T17:14:42.283 に答える
2

これにより、オプションが作成されます。また、javascript をサポートする非常に多くのブラウザと下位互換性があります。

function selectOne() {
    for (var selectEle = document.getElementById("test"), i = 1, o; i <= 6;  i += 1) {
        o = document.createElement("option");
        o.value = i;
        o.appendChild(document.createTextNode(i));
        selectEle.appendChild(o);

        /*
        // As pointed out in the comments it can be done as such:
        o = document.createElement("option");
        o.value = o.text = i;
        selectEle.appendChild(o);
        */
    }
}
于 2012-10-11T17:16:30.410 に答える