循环遍历 ASP.NET 列表框 Javascript 不起作用
Looping through a ASP.NET Listbox with Javascript not working
我正在尝试使用 Javascript 遍历 ASP.NET 列表框,但是当它在 for 循环中遇到 lboxRight 变量时,我得到一个空对象或未定义对象。这是我的。
function save() {
var containsTypeA = false;
var containsTypeB = false;
var containsType = false;
var lboxRight = $get('<%=lboxRight.ClientID %>').value;
if (lboxRight != null) {
for (var i = 0; i < lboxRight.options.length; ++i) {
if (lboxRight.options[i].value == "Type A") {
containsTypeA = true;
}
if (lboxRight.options[i].value == "Type B") {
containsTybeB = true;
}
}
containsType = true;
}
}
有一个 onclick 事件映射到按下保存按钮时调用此函数。我是否以正确的方式查看列表框并告诉我它是否具有此特定值?我的意图是让列表框包含 Type A
作为一个值,然后当它循环遍历列表框时,如果它在列表中找到该值,它将为其他一些逻辑将该变量设置为 true 。 Visual Studio 似乎在抱怨 for 循环行,我在这里做错了什么?我正在使用在其他地方编写的完全相同的循环并且它工作正常,所以我不明白为什么这个不起作用。
我写的有什么问题吗?
如果它抱怨 for 循环行上的某些内容为空或未定义,我会检查一下 lboxRight.options 是什么,因为您已经检查了 lboxRight。
实际上,选项的存在没有意义,因为 lboxRight 被设置为 select 的值而不是 select。
尝试更改
var lboxRight = $get('<%=lboxRight.ClientID %>').value;
至
var lboxRight = $get('<%=lboxRight.ClientID %>');
我正在尝试使用 Javascript 遍历 ASP.NET 列表框,但是当它在 for 循环中遇到 lboxRight 变量时,我得到一个空对象或未定义对象。这是我的。
function save() {
var containsTypeA = false;
var containsTypeB = false;
var containsType = false;
var lboxRight = $get('<%=lboxRight.ClientID %>').value;
if (lboxRight != null) {
for (var i = 0; i < lboxRight.options.length; ++i) {
if (lboxRight.options[i].value == "Type A") {
containsTypeA = true;
}
if (lboxRight.options[i].value == "Type B") {
containsTybeB = true;
}
}
containsType = true;
}
}
有一个 onclick 事件映射到按下保存按钮时调用此函数。我是否以正确的方式查看列表框并告诉我它是否具有此特定值?我的意图是让列表框包含 Type A
作为一个值,然后当它循环遍历列表框时,如果它在列表中找到该值,它将为其他一些逻辑将该变量设置为 true 。 Visual Studio 似乎在抱怨 for 循环行,我在这里做错了什么?我正在使用在其他地方编写的完全相同的循环并且它工作正常,所以我不明白为什么这个不起作用。
我写的有什么问题吗?
如果它抱怨 for 循环行上的某些内容为空或未定义,我会检查一下 lboxRight.options 是什么,因为您已经检查了 lboxRight。
实际上,选项的存在没有意义,因为 lboxRight 被设置为 select 的值而不是 select。
尝试更改
var lboxRight = $get('<%=lboxRight.ClientID %>').value;
至
var lboxRight = $get('<%=lboxRight.ClientID %>');