Javascript 查找缺失的选择值

标签 javascript

我有以下 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/

相关文章:

JavaScript 并不总是加载

javascript - 有没有办法在 javascript 文件中要求 typescript 文件?

javascript - 我们如何在javascript中的正则表达式中的替换函数中添加一个值

javascript - Angular 形式 - "Required"与 ng-model-options

javascript - 悬停时包括有关对象 PVIZ 的更多详细信息

javascript - 如何在 JavaScript 中使用数组中的 pop() 选项

javascript - 如何用 jQuery 覆盖 CSS3 动画?

javascript - 按顺序迭代 .EACH 循环,其中包含 AJAX 请求

JavaScript 'contenteditable' -- 获取/设置插入符位置

javascript - json 返回对象数组,如何为 Angular $scope 变量赋值?