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

Javascript 选择元素的选项为空

Javascript 选择元素的选项为空,javascript,html,jquery-select2,Javascript,Html,Jquery Select2,我有一个select2元素中的产品列表。它显示如下: <select name="product" class="select2 form-control select2-hidden-accessible"> <option value="138" data-select2-id="60">Option1</option> <opti

我有一个select2元素中的产品列表。它显示如下:

    <select name="product" class="select2 form-control select2-hidden-accessible">
        <option value="138" data-select2-id="60">Option1</option>
        <option value="39" data-select2-id="78">Option2</option>
        // several more options here
     </select>
 for (let i = 0; i < select.options.length; i++) {
    console.log(select.options[i]);
}

选择1
选择2
//这里还有几个选项
尽管这看起来是正确的,但当我重复以下选项时:

    <select name="product" class="select2 form-control select2-hidden-accessible">
        <option value="138" data-select2-id="60">Option1</option>
        <option value="39" data-select2-id="78">Option2</option>
        // several more options here
     </select>
 for (let i = 0; i < select.options.length; i++) {
    console.log(select.options[i]);
}
for(让i=0;i
我得到1个空选项元素的日志条目,并且只有1个(即使有多个选项),如:

<option value="" selected="" data-select2-id="8">

你知道会出什么问题吗


Edit1:我在同一个页面中有几个选择,所有选择都使用相同的函数来迭代这些选项。这是我唯一遇到问题的代码。

您的代码中有语法错误:

在此语句中,
select.options.length
select
不是有效的选择器或变量(基于您在问题中给出的代码)。它会给你一个选择是未定义的错误

将for循环切换到以下位置:

var dropDown = document.querySelector('.select2');
for (let i = 0; i < dropDown.options.length; i++) {
    console.log(dropDown.options[i]);
}
var dropDown=document.querySelector('.select2');
for(设i=0;i

这将显示两个选项。

Hi,select是有效元素。我将其作为参数发送到函数。如果我记录“select”,那么我会看到正确呈现的select元素。它是一个有效元素,但需要包装在
文档中。querySelector
文档中。getElementsByTagName
或其他内容。您可以直接参照选择。上面的代码对您无效吗?这是我唯一遇到问题的select元素。另一个选择是我以同样的方式发送给函数的,它们工作得非常好。这很奇怪。打印出select的长度,然后查看for循环是否迭代了2次。@jaimish11您应该请求一个堆栈片段,而不是JSFIDLE或codepen。如果可能的话,我们更愿意把代码保存在这里。请发一封邮件。您可以使用使其可执行。