2009-04-08 16 views
1

JQueryを使用して、ListItemの値を順序付けられていないリスト(下記参照)で取得しようとしています。以下のコードは作業に近いですが、第2のものがチェックされていても、常に最初のListItemの値を返します。JQueryを使用してListItem値を取得する

ありがとう、 Russ。あなたのそれぞれにおいて、

$(document).ready(function() { 
     $("li").click(function() { 

      $("input:checked").each(function() { 

       alert($("label").attr('InnerText')); 

      }); 
     }); 
    }); 

<div> 


    <ul class="AspNet-CheckBoxList-RepeatDirection-Vertical"> 
     <li class="AspNet-CheckBoxList-Item"> 
      <input id="CheckBoxList1_0" type="checkbox" name="CheckBoxList1$0" value="first1" /> 
      <label for="CheckBoxList1_0">First $30.00</label> 
     </li> 
     <li class="AspNet-CheckBoxList-Item"> 
      <input id="CheckBoxList1_1" type="checkbox" name="CheckBoxList1$1" value="second2" /> 
      <label for="CheckBoxList1_1">Second $25.00</label> 
     </li> 
    </ul> 


</div> 

答えて

8

あなたは、セレクタの範囲を限定していない、それはちょうどあなたが.ATTR呼び出しているとき、最初に見つかったラベルをつかんだコールバック。 ...チェックボックスではなく、ドキュメント全体

+0

おかげで周りの要素に

$("input:checked").each(function() { $(this).next("label").text(); //Or $(this).parent().find("label").text(); //Depending on your markup }); 

このスコープセレクタを、次のようなものを試してみてください!それは完璧に働いた! –

関連する問題