Javascript 代码显示选择值
Javascript code display select values
我在确定值是否丢失时遇到了一些问题。
我的屏幕上有以下选择框:
<select id="user_list" onclick="load_user(this)" name="user_list" size="21" style="width:200px;">
<option value="1">Item1</option>
<option value="2">Item2</option>
<option value="4">Item4</option>
</select>
我正在使用以下JavaScript:
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;
}
else
{
alert((userList.options.length+1)+" is missing");
break;
}
}
我面临的问题是,如果选项值 1,2,3,4 有回复 5(因为这是下一个数字),这很好,因为这就是我想要的。
如果我删除选项 3(如上面的选择框),它一直回复 4 丢失,而它应该说缺少 3。
如果我删除以下代码:
else
{
alert((userList.options.length+1)+" is missing");
break;
}
它执行我希望它执行的操作,但在检查所有值后它没有获得下一个值编号(因此它在读取列表中的最后一个选项后停止)。
它应该做的是浏览选择框中的所有选项,如果缺少其中一个值,它应该删除缺少的值。如果所有值数字都在那里,那么它应该缺少下一个可用选项。
谁能看出我做错了什么?
它一直告诉你4
丢失了,因为你在循环的每次迭代中都运行else
代码(直到它找到一个缺失的代码)。else
中的代码只应运行一次。您可以使用标志变量来设置是否缺少一个并在循环后进行检查。尝试将 js 代码更改为
var allFound = true;
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");
allFound = false;
break;
}
}
if(allFound)
alert((userList.options.length+1)+" is missing");
这
适用于Jfiddle http://jsfiddle.net/Vt2DJ/
var userList = document.getElementById("user_list");
var whileindex = 0; //keeps track of the number of options checked
var i = 0; //values that should be available for the options
while ( whileindex < userList.options.length )
{
if (userList.options[i].value != (i+1)) {
alert((i+1)+" is missing");
i++; //this because otherwise we have a wrong offset for the check
}
else
{
whileindex++; //option exists
}
i++; //go on to the next value
}
相关文章:
- 根据用户从下拉列表中的选择显示多个文本框
- 根据页面加载时的单选按钮选择显示某些字段
- 根据组合框选择显示特定数据
- 从项目列表Jquery中仅选择(显示:块)元素
- 根据用户复选框选择显示或隐藏下拉框
- 根据以前的选择显示选择选项
- 如何选择显示值而不是value选项
- 根据asp.net中下拉框中的选择显示文本框
- 根据单选按钮的选择显示HTML表单
- 缩小后的大图像上的Jcrop圆形选择显示预览选择区域中的全尺寸图像
- 按数字选择显示输入
- 基于下拉选择显示/隐藏控件mvc 4 razor c#
- 角度选择显示名称和项目
- 获取值并根据用户在 Javascript 上的选择显示
- 根据选择显示表格/表单
- 根据下拉选择显示文本
- 为什么选择显示显示值而不是标签
- 多个文本字段,根据单选选择显示/隐藏(Html,JS)
- 基于多个单选按钮选择显示或隐藏元素
- 根据在选择框中所做的选择显示文本