Подтвердить что ты не робот

Получить значения списка флажков с помощью jQuery

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

<div id="MyDiv">
....
<td><%= Html.CheckBox("need_" + item.Id.ToString())%></td>
...
</div>

Спасибо,

4b9b3361

Ответ 1

$(document).ready(function() {
    $('#someButton').click(function() {
        var names = [];
        $('#MyDiv input:checked').each(function() {
            names.push(this.name);
        });
        // now names contains all of the names of checked checkboxes
        // do something with it
    });
});

Ответ 2

Так как никто не упомянул об этом.

Если все, что вам нужно, это массив значений, более простой альтернативой будет использование .map() метод. Просто не забудьте вызвать .get(), чтобы преобразовать объект jQuery в массив:

Пример здесь

var names = $('.parent input:checked').map(function () {
    return this.name;
}).get();

console.log(names);

var names = $('.parent input:checked').map(function () {
    return this.name;
}).get();

console.log(names);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="parent">
    <input type="checkbox" name="name1" />
    <input type="checkbox" name="name2" />
    <input type="checkbox" name="name3" checked="checked" />
    <input type="checkbox" name="name4" checked="checked" />
    <input type="checkbox" name="name5" />
</div>

Ответ 3

Не тестировалось, но должно работать:

$("#MyDiv td input:checked").each(function()
{
    alert($(this).attr("id"));
});

Ответ 4

var aArray = [];
window.$( "#myDiv" ).find( "input[type=checkbox][checked]" ).each( function()
{
  aArray.push( this.name );

});

Вы можете поместить его в функцию и выполнить по щелчку кнопки.

Ответ 5

Вы должны использовать карту для этого.

$('input[type=checkbox]:checked').map(function(i, e) { 
    return $(e).val(); 
});

Ответ 6

Попробуйте это.

var listCheck = [];
console.log($("input[name='YourCheckBokName[]']"));
$("input[name='YourCheckBokName[]']:checked").each(function() {
     console.log($(this).val());
     listCheck .push($(this).val());
});
console.log(listCheck);

Ответ 7

var nameCheckBoxList = "myCheckListName";
var selectedValues = $("[name=" + nameCheckBoxList + "]:checked").map(function(){return this.value;});

Ответ 8

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

$(document).ready(function() {
        $("button").click(function(){
            var checkBoxValues = [];
            $.each($("input[name='check_name']:checked"), function(){
                checkBoxValues.push($(this).val());
            });

            console.log(checkBoxValues);

        });
    });