1 votes

Obtenir les valeurs d'une liste d'éléments à l'aide de JQuery

J'essaie d'utiliser JQuery pour obtenir les valeurs des ListItems dans une liste non ordonnée (voir ci-dessous). Le code ci-dessous est presque fonctionnel, mais il renvoie toujours la valeur du premier élément de la liste, même si le second est coché.

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

8voto

John Foster Points 5411

Dans votre appel à chaque fois, vous ne limitez pas la portée du sélecteur et il saisit simplement la première étiquette qu'il trouve lorsque vous appelez .attr. Essayez quelque chose comme ce qui suit...

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

Ce sélecteur s'applique aux éléments situés autour de la case à cocher plutôt qu'à l'ensemble du document.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X