Javascript 循环遍历select的所有元素,如果其中一个项为null,则添加一个空白选项

Javascript 循环遍历select的所有元素,如果其中一个项为null,则添加一个空白选项,javascript,jquery,drop-down-menu,dropdownbox,Javascript,Jquery,Drop Down Menu,Dropdownbox,我有两个下拉列表选择1和选择2。 我将选择select1的item1,然后单击OK按钮(我需要帮助的情况下) 然后,如果selectedindex为0(即第一个选项),则循环浏览两个下拉列表的项目 如果相同的索引元素(如两个下拉列表中的第三个元素)不为null,则执行一些代码;如果其中任何一个为null,则执行其他代码,则如何实现这一点 <select name="select1" id="select1" multiple size="10"> <option>

我有两个下拉列表选择1和选择2。 我将选择select1的item1,然后单击OK按钮(我需要帮助的情况下)

然后,如果selectedindex为0(即第一个选项),则循环浏览两个下拉列表的项目

如果相同的索引元素(如两个下拉列表中的第三个元素)不为null,则执行一些代码;如果其中任何一个为null,则执行其他代码,则如何实现这一点

<select name="select1" id="select1"  multiple size="10">
    <option>1<option>
    <option>null<option>
    <option>null<option>
    <option>2<option>
    <option>3<option>
</select>
<select name="select2" id="select2"  multiple size="10">
    <option>4<option>
    <option>5<option>
    <option>6<option>
    <option>null<option>
    <option>10<option>
</select>

1.
无效的
无效的
2.
3.
4.
5.
6.
无效的
10
我试过这个密码,但小提琴没有反应


正如我在评论中看到的那样。在找到第一个匹配项时,添加null后,您不会中断循环

这对我来说没问题

 if (optionS1[i].text != "null" && optionS2[i].text != "null") {
             $(sel1).append("<option value=''>null</option>");
             $(sel2).prepend("<option value=''>null</option>");
             return;
         }
if(选项1[i].text!=“null”&&optionS2[i].text!=“null”){
$(sel1.append(“null”);
$(sel2).prepend(“null”);
返回;
}

您在这里遇到了一个小问题,两个列表都有相同的id,这是错误的。您的脚本变得没有响应,因为您的
for
循环条件是
i
,并且在第一次迭代中,您预先添加了一个新的
选项
,这意味着当前一个将被推到下一个索引,因此,当
.length
变得越来越长时,您可以继续对原始的
选项进行操作。抓取选项列表,将其转换为数组,然后进行迭代
var opts=Array.prototype.slice.call(l_aSelectobject.options);对于(var i=0;i
我尝试了这一点,但这两次都追加了null(因为每个下拉列表中有两个项目不是null)我希望只追加一次null,然后再次检查所有元素,然后如果其中任何元素不为null,则再次追加null。您能建议我现在哪里出了问题吗?\n确实不清楚预期的内容。对于标准和预期结果的可靠解释,不完整的代码不是一个很好的选择哦,我是jusI don’’我的错