2009-04-08 9 views
1

Ich versuche, JQuery verwenden, um die Werte der ListItems in einer ungeordneten Liste (siehe unten) zu erhalten. Der folgende Code ist fast funktionsfähig, aber er gibt immer den Wert des ersten ListItem zurück, auch wenn der zweite aktiviert ist.Get ListItem Werte mit JQuery

Danke, 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> 

Antwort

8

In Ihrem jeden Anruf zu begrenzen Sie wieder den Umfang des Wählers und es greift nur das erste Etikett findet es, wenn Sie anrufen .attr. Versuchen Sie so etwas wie die folgenden ...

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

Diese Bereiche Wähler auf die Elemente rund um das Kontrollkästchen, anstatt das gesamte Dokument

+0

Dank! Das hat perfekt funktioniert! –