Использование jquery для получения всех отмеченных флажков с определенным именем класса - PullRequest
192 голосов
/ 27 марта 2011

Я знаю, что могу получить все отмеченные флажки на странице, используя это:

$('input[type=checkbox]').each(function () {
    var sThisVal = (this.checked ? $(this).val() : "");
});

Но сейчас я использую это на странице, на которой есть некоторые другие флажки, которые я не хочу включать. Как бы я изменил приведенный выше код, чтобы смотреть только на отмеченные флажки, которые имеют определенный класс на них?

Ответы [ 13 ]

4 голосов
/ 03 января 2018
<input type="checkbox" id="Checkbox1" class = "chk" value = "1" />
<input type="checkbox" id="Checkbox2" class = "chk" value = "2" />
<input type="checkbox" id="Checkbox3" class = "chk" value = "3" />
<input type="checkbox" id="Checkbox4" class = "chk" value = "4" />
<input type="button" id="demo" value = "Demo" />

<script type = "text/javascript" src = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.1.min.js"></script>
<script type="text/javascript">
    $("#demo").live("click", function () {
        $("input:checkbox[class=chk]:checked").each(function () {
            alert("Id: " + $(this).attr("id") + " Value: " + $(this).val());
        });
    });
</script>

http://www.jqueryfaqs.com/Articles/Get-values-of-all-checked-checkboxes-by-class-name-using-jQuery.aspx

3 голосов
/ 29 мая 2014

Я знаю, что у этого уже есть куча хороших ответов на этот вопрос, но я нашел это, просматривая, и нахожу это действительно простым в использовании. Мысль, которой я поделюсь для всех, кто ищет.

HTML:

<fieldset>
    <!-- these will be affected by check all -->
    <div><input type="checkbox" class="checkall"> Check all</div>
    <div><input type="checkbox"> Checkbox</div>
    <div><input type="checkbox"> Checkbox</div>
    <div><input type="checkbox"> Checkbox</div>
</fieldset>
<fieldset>
    <!-- these won't be affected by check all; different field set -->
    <div><input type="checkbox"> Checkbox</div>
    <div><input type="checkbox"> Checkbox</div>
    <div><input type="checkbox"> Checkbox</div>
</fieldset>

JQuery:

$(function () {
    $('.checkall').on('click', function () {
        $(this).closest('fieldset').find(':checkbox').prop('checked', this.checked);
    });
});

Справка: Самый простой способ "проверить все" с помощью jQuery

2 голосов
/ 09 февраля 2019

Вы можете попробовать вот так

let values = (function() {
                let a = [];
                $(".chkboxes:checked").each(function() {
                    a.push($(this).val());
                });
                return a;
            })();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...