2011-03-15 8 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のコードを試してみてください。それぞれの選択されたチェックボックスをループします

+0

+1これは動作します、私はそうだと思います –

+0

あなたはそれを飛行機のJavascriptに変換する気がしますか? – Kobojunkie

+0

@Kobojunkie彼が使用したセレクタは、jquery固有のもので、 'jquery wildcardセレクタ 'を使っています。これは、asp.netから自動生成されたIDを選択できるので良いです。 "[id $ = 'rbGender']"はidが 'rbGender'文字列で終わることを意味します。ところで、あなたはあなたの質問を 'jquery'とタグ付けしました –

関連する問題