Установите все флажки с jQuery

Я нуждаюсь в помощи с селекторами jQuery. Скажите, что у меня есть разметка как показано ниже:

<form>
    <table>
        <tr>
            <td><input type="checkbox" id="select_all"/></td>
        </tr>
        <tr>
            <td><input type="checkbox" name="select[]"/></td>
        </tr>
        <tr>
            <td><input type="checkbox" name="select[]"/></td>
        </tr>
        <tr>
            <td><input type="checkbox" name="select[]"/></td>
        </tr>
    </table>
</form>

Как получить все флажки кроме #select_all когда пользователь нажимает на него?
Любая справка будет цениться.

69
задан Darmen Amanbayev 9 February 2010 в 10:41
поделиться

2 ответа

Более полный пример, который должен работать в вашем случае :

$('#select_all').change(function() {
    var checkboxes = $(this).closest('form').find(':checkbox');
    checkboxes.prop('checked', $(this).is(':checked'));
});

При щелчке по флажку #select_all устанавливается статус флажка, и все флажки в текущей форме устанавливаются в один и тот же статус.

Обратите внимание, что вам не нужно исключать флажок #select_all из выбора, так как он будет иметь такой же статус, как и все остальные. Если вам по какой-то причине нужно исключить #select_all , вы можете использовать это:

var checkboxes = $(this).closest('form').find(':checkbox').not($(this));
106
ответ дан 24 November 2019 в 13:36
поделиться
$("form input[type='checkbox']").attr( "checked" , true );

или вы можете использовать

:checkbox Selector

$("form input:checkbox").attr( "checked" , true );

I have rewritten your HTML and provided a click handler for the main check box

$(function(){
    $("#select_all").click( function() {
        $("#frm1 input[type='checkbox'].child").attr( "checked", $(this).attr("checked" ) );
    });
});

<form id="frm1">
    <table>
        <tr>
            <td>
                <input type="checkbox" id="select_all" />
            </td>
        </tr>
        <tr>
            <td>
                <input type="checkbox" name="select[]" class="child" />
            </td>
        </tr>
        <tr>
            <td>
                <input type="checkbox" name="select[]" class="child" />
            </td>
        </tr>
        <tr>
            <td>
                <input type="checkbox" name="select[]" class="child" />
            </td>
        </tr>
    </table>
</form>
17
ответ дан 24 November 2019 в 13:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: