Получить значения ListItem с помощью JQuery - PullRequest
1 голос
/ 08 апреля 2009

Я пытаюсь использовать JQuery для получения значений ListItems в неупорядоченном списке (см. Ниже). Приведенный ниже код близок к работе, но он всегда возвращает значение первого 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>

1 Ответ

8 голосов
/ 08 апреля 2009

При каждом обратном вызове вы не ограничиваете область действия селектора, а просто захватывает первую метку, найденную при вызове .attr. Попробуйте что-то вроде следующего ...

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

Эта область выбора элементов вокруг флажка, а не всего документа

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...