我有以下 JavaScript:
var next_user = "1";
i=0;
for (i=0;i<=10;i++)
{
var el = document.getElementById("user_list");
var val = el[i].value;
if (val <= next_user)
{
next_user = i;
}
if (val >= next_user)
{
next_user = i;
}
alert(next_user);
}
我在屏幕上有以下选择框:
<select id="user_list" onclick="load_user(this)" name="user_list" size="21" style="width:200px;">
<option value="1">Bob</option>
<option value="2">john</option>
<option value="3">Frank</option>
<option value="5">tom</option>
</select>
我似乎无法让它按照我想要的方式工作。
选择框可以在列表中包含 10 个用户,并且每个(选项)值都是唯一的 (1-10)。
正如您在我的选择框中看到的那样,我缺少值 4。我上面的 Javascript 代码旨在通过选择框并找到缺少的第一个值。 (在我上面的示例中,它应该回复 4,因为它丢失了)但是如果 Bob 丢失了,那么它应该回复 1。
这就是我上面的 JavaScript 代码应该做的,但我似乎无法弄清楚我做错了什么。 (好吧,我希望我做对了)
谁知道我做错了什么?
(我不打算在这个阶段使用任何 jQuery)
最佳答案
您应该使用您提取的选择元素的 options
属性。
例子:
<script>
var userList = document.getElementById("user_list");
for (var i=0;i<userList.options.length; i++) {
if (userList.options[i].value != (i+1)) {
alert((i+1)+" is missing");
break;
}
}
</script>
关于Javascript 查找缺失的选择值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11079005/