使用javascript获取选中项的复选框列表不起作用
我从使用javascript获取选中项的复选框列表不起作用,javascript,asp.net,checkboxlist,Javascript,Asp.net,Checkboxlist,我从复选框列表中选择了2个项目,下面是我尝试的代码,我得到的错误如下 未定义属性 这是我的密码 var checkboxlist = document.getElementById('<%= ddlStatus.ClientID %>'); var checkOptions = checkboxlist.getElementsByTagName('input'); var listSelected = checkboxlist.getElement
复选框列表中选择了2个项目,下面是我尝试的代码,我得到的错误如下
未定义属性
这是我的密码
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);
}
}
var checkboxlist=document.getElementById(“”);
var checkOptions=checkboxlist.getElementsByTagName('input');
var listSelected=checkboxlist.getElementsByTagName('span');
对于(i=0;i
请告诉我如何获得所选值
更新
选中两项,对复选框列表进行微调
首先,在JSFIDLE中,您的复选框标题位于标签中,而不是span
,因此请更改此行:
var listSelected = checkboxlist.getElementsByTagName('span');
致:
除此之外,这些标签上没有名为“”STATUS“
的属性,我已经更新了您的小提琴-请参见此处
更新
获取最后一个选定值的最终代码,与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);
var checkboxlist=document.getElementById('ddlStatus');
var checkOptions=checkboxlist.getElementsByTagName('input');
var listSelected=checkboxlist.getElementsByTagName('label');
var last_val=“”;
对于(i=0;i
是的,我没有身份。那么,如何设置从列表中选择的变量中的值呢?您的意思是提醒选中复选框的值?如下所示:alert(checkOptions[i].value)代码>是的,就是这个。这里还有一件事,如何设置最后选择的值??将最后选择的值放入变量中?您可以将其存储到一个变量中,并在循环中赋值,它将留给您最后一个-。您也可以存储到数组,然后取最大值,这取决于您的需要我得到的值为20,但在我的列表中,协议
被选中。这是我的完整代码在小提琴更新小提琴
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);