2016-10-15 35 views
-1

我选择从checkboxlist 2项下面的代码,我想我得到错误的获得的CheckBoxList使用javascript不工作

属性没有定义选择项。

这里是我的代码

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); 
      } 
     } 

请让我知道如何选择的值

UPDATE

拨弄2项选择的CheckBoxList的

JSFiddle

回答

1

首先,在你的jsfiddle你复选框标题是labelspan所以改变这一行:

var listSelected = checkboxlist.getElementsByTagName('span'); 

到:

var listSelected = checkboxlist.getElementsByTagName('label'); 

分开,你不在这些标签上有一个名为"STATUS"的属性,我已更新您的小提琴 - 请参阅此处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); 
+0

最终代码是的,我没有状态。那么如何设置从列表中选择的变量中的值呢? – BNN

+0

您的意思是提醒所选复选框的值?像这样:alert(checkOptions [i] .value);'https://jsfiddle.net/Lg8w2u7d/5/ –

+0

是的,正是这一个。还有一件事,如何设置最后选定的值? – BNN