Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.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_Html_Arrays_Dom - Fatal编程技术网

Javascript 下拉列表中未显示数组值

Javascript 下拉列表中未显示数组值,javascript,html,arrays,dom,Javascript,Html,Arrays,Dom,我想在下拉列表中显示数组的元素。我在for循环中使用文档对象模型来执行此操作,但不断收到下拉列表为空的错误 Javascript代码 var str="-1,40,42,43,44,46,47,54,90,890,987,1235,4555,12434,122223,788998,789444,2147483647"; var n =new Array(); n = str.split(","); alert(n); var select=document.getElementById("re

我想在下拉列表中显示数组的元素。我在for循环中使用文档对象模型来执行此操作,但不断收到下拉列表为空的错误

Javascript代码

var str="-1,40,42,43,44,46,47,54,90,890,987,1235,4555,12434,122223,788998,789444,2147483647";
var n =new Array();
n = str.split(",");
alert(n);

var select=document.getElementById("rec");
for(i=0;i< n.length;i++)
{
    var opt=n[i];
    var el=document.createElement("option");
    el.textContent=opt;
    el.value=opt;
    select.appendChild(el);
}
var str=“-1,40,42,43,44,46,47,54,9089098712354555124341222237889987894442147483647”;
var n=新数组();
n=str.split(“,”);
警报(n);
var select=document.getElementById(“rec”);
对于(i=0;i
HTML代码

<div id="rec1" name="rec1" style="display:none">
     <p>Select the Record number of the record you want to edit&approve&nbsp;&nbsp;&nbsp;
         <select id="rec"  name="rec" >
            <option value="def" selected="selected">Select choice</option>
         </select>
</div>

选择要编辑和批准的记录的记录编号
选择

我得到的TypeError是“select为null”

您必须确保在加载DOM后Javascript正在执行。为了确保这一点,大多数人会在
窗口中编写代码。onload
函数如下:

<script>

window.onload = function(){
    var str = "-1,40,42,43,44,46,47,54,90,890,987,1235,4555,12434,122223,788998,789444,2147483647";
    var n = new Array();
    n = str.split(",");

    var select = document.getElementById("rec");
    for (i = 0; i < n.length; i++) {
        var opt = n[i];
        var el = document.createElement("option");
        el.textContent = opt;
        el.value = opt;
        select.appendChild(el);
    }
}
</script>

window.onload=函数(){
var str=“-1,40,42,43,44,46,47,54,9089098712354555124341222237889987894442147483647”;
var n=新数组();
n=str.split(“,”);
var select=document.getElementById(“rec”);
对于(i=0;i

既然你的工作似乎还不错,这可能就是问题所在。否则,您的其他代码肯定会干扰脚本。还要注意,我已经删除了小提琴上的样式
display:none

我猜在select标记之前有script标记。post complete code pli我做了一把小提琴,我把
display:none
拿了出来。如果要在下一行中分配不同的数组,为什么要初始化
var n=new Array()
!!!!!我把我的代码放在一个windowonload函数中,它工作正常…:)