2011-03-15 41 views
1

我需要访问客户端中CheckBoxList中各个复选框的键值。我该怎么做?下面的代码用于选择文本,但是我想要访问下面的整数值。如何访问CheckBoxList中的ListItems的键

<asp:CheckBoxList id=rbGender runat="server" Width="200px" RepeatDirection="Horizontal"> 
<asp:ListItem Value="-1">-1</asp:ListItem> 
<asp:ListItem Value="0">Female</asp:ListItem> 
<asp:ListItem Value="1">Male</asp:ListItem> 
</asp:CheckBoxList> 



function getCheckBoxListItemsChecked(elementId) { 
      var elementRef = document.getElementById(elementId); 
      var checkBoxArray = elementRef.getElementsByTagName('input'); 
      var checkedValues = ''; 

      for (var i = 0; i < checkBoxArray.length; i++) { 
       var checkBoxRef = checkBoxArray[i]; 

       if (checkBoxRef.checked == true) { 
        var labelArray = checkBoxRef.parentNode.getElementsByTagName('label'); 
        if (labelArray.length > 0) { 
         if (checkedValues.length > 0) 
          checkedValues += ', '; 
         checkedValues += labelArray[0].innerHTML; 
        } 
       } 
      } 

      return checkedValues; 
     } 


     function CopyItemsToTextBox() { 
      var checkedItems = getCheckBoxListItemsChecked('<%= rbGender.ClientID %>'); 
      alert('Items checked: ' + checkedItems); 

      return checkedItems; 
     } 

回答

2

尝试用于单元素选择

$("input:checked","[id$='rbGender']").val() 

用于多个这种jQuery代码和此。通过每一个选择的复选框

$.each($("input:checked","[id$='rbGender']"), function(k, v) { 
    alert(v.value); 
}); 
+0

+1这个一会工夫每次都会循环,我想是这样 – 2011-03-15 22:35:34

+0

你介意转换是到平面的Javascript? – Kobojunkie 2011-03-15 23:08:11

+0

@Kobojunkie他使用的选择器是jQuery特定的使用'jquery通配符选择器'。这很好,因为这可以从asp.net中选择自动生成的ID。 “[id $ ='rbGender']”意味着id以'rbGender'字符串结尾。顺便说一句,你把问题标记为“jquery” – 2011-03-17 17:06:27

相关问题