使用 javascript 获取选中的复选框列表项目无效
Get Checkboxlist selected Item using javascript not working
我用下面的代码从 checkboxlist
中选择了 2 个项目,我试过时出现错误
attributes is not defined.
这是我的代码
var checkboxlist = document.getElementById('<%= ddlStatus.ClientID %>');
var checkOptions = checkboxlist.getElementsByTagName('input');
var listSelected = checkboxlist.getElementsByTagName('span');
for(i = 0; i < checkOptions.length; i++)
{
if(checkOptions[i].checked)
{
alert(listSelected[i].attributes["STATUS"].value);
}
}
请告诉我如何获取所选值
更新
Fiddle 选中了 2 个项目的复选框列表
首先,在您的 JSFiddle 中,您的复选框标题在 label
而不是 span
,因此请更改此行:
var listSelected = checkboxlist.getElementsByTagName('span');
至:
var listSelected = checkboxlist.getElementsByTagName('label');
除此之外,您在这些标签上没有名为 "STATUS"
的属性,我已经更新了您的 fiddle - 请参阅此处 https://jsfiddle.net/Lg8w2u7d/2/
更新
获取最后选择值的最终代码,与 IE8 兼容
var checkboxlist = document.getElementById('ddlStatus');
var checkOptions = checkboxlist.getElementsByTagName('input');
var listSelected = checkboxlist.getElementsByTagName('label');
var last_val = '';
for(i = 0; i < checkOptions.length; i++)
{
if(checkOptions[i].checked)
{
last_val = listSelected[i].textContent || listSelected[i].innerText; // so it works in IE8 and lower
}
}
alert(last_val);
我用下面的代码从 checkboxlist
中选择了 2 个项目,我试过时出现错误
attributes is not defined.
这是我的代码
var checkboxlist = document.getElementById('<%= ddlStatus.ClientID %>');
var checkOptions = checkboxlist.getElementsByTagName('input');
var listSelected = checkboxlist.getElementsByTagName('span');
for(i = 0; i < checkOptions.length; i++)
{
if(checkOptions[i].checked)
{
alert(listSelected[i].attributes["STATUS"].value);
}
}
请告诉我如何获取所选值
更新
Fiddle 选中了 2 个项目的复选框列表
首先,在您的 JSFiddle 中,您的复选框标题在 label
而不是 span
,因此请更改此行:
var listSelected = checkboxlist.getElementsByTagName('span');
至:
var listSelected = checkboxlist.getElementsByTagName('label');
除此之外,您在这些标签上没有名为 "STATUS"
的属性,我已经更新了您的 fiddle - 请参阅此处 https://jsfiddle.net/Lg8w2u7d/2/
更新
获取最后选择值的最终代码,与 IE8 兼容
var checkboxlist = document.getElementById('ddlStatus');
var checkOptions = checkboxlist.getElementsByTagName('input');
var listSelected = checkboxlist.getElementsByTagName('label');
var last_val = '';
for(i = 0; i < checkOptions.length; i++)
{
if(checkOptions[i].checked)
{
last_val = listSelected[i].textContent || listSelected[i].innerText; // so it works in IE8 and lower
}
}
alert(last_val);