Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于循环的Javascript添加;";选项元素的数量?_Javascript_Loops_Select_Option - Fatal编程技术网

用于循环的Javascript添加;";选项元素的数量?

用于循环的Javascript添加;";选项元素的数量?,javascript,loops,select,option,Javascript,Loops,Select,Option,我有一个动态生成的数字,我想将这个数量的选项元素添加到select。我认为for循环是最好的方法。假设包含数字的变量是var number。谢谢你的帮助 我的起始HTML是: <select id="test"> </select> 因此,如果数字=6,则生成的HTML需要如下所示: <select id="test"> <option value="1">1</option> <option value="2">2

我有一个动态生成的数字,我想将这个数量的选项元素添加到select。我认为for循环是最好的方法。假设包含数字的变量是var number。谢谢你的帮助

我的起始HTML是:

<select id="test">

</select>
因此,如果数字=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>

1.
2.
3.
4.
5.
6.

这将生成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);
  } 
}
function selectOne(){
var select=document.getElementById('test');

对于(var i=0;i这将生成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);
  } 
}
function selectOne(){
var select=document.getElementById('test');

对于(var i=0;i这应该会创建您的选项,并且向后兼容许多支持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);
        */
    }
}
function selectOne(){

对于(var selectEle=document.getElementById(“test”),i=1,o;i这应该会创建您的选项。并且对于支持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);
        */
    }
}
function selectOne(){

for(var selectEle=document.getElementById(“测试”),i=1,o;i您实际上可以跳过
appendChild
createTextNode
,只需使用
.text
属性,所以
o.value=o.text=i;
但是+1,因为我认为这可能比
选项
构造函数具有更好的兼容性。就我所知,文本不是一个标准。所以要保持它的完整性尽管我可以,我还是选择如上所述创建元素是的,这是DOM级别1的标准:哦,如果没有别的,至少有一个例子说明了如何创建其他节点,例如:dSure,完全有效的解决方案,在其他地方也很有用。实际上,你可以跳过
appendChild
createTextNode
,只使用
.text
属性,所以
o.value=o.text=i;
但是+1,因为我认为这是可能的ly比
选项
构造函数具有更好的兼容性。据我所知,文本不是一个标准。因此,为了尽可能保持它的兼容性,我选择如上所述创建元素是的,它是DOM级别1标准。:)哦,好吧,如果没有别的,至少有一个例子说明了如何创建其他节点,比如:dSure,完全有效的解决方案,在其他地方很有用。