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

Получить значения флажка, используя имя флажка

У меня есть несколько флажков ввода (они называются одинаковыми для массива send на сервере).

Итак, мне нужно получить каждое значение этих флажков, и я хочу использовать в качестве имен флажков селектора, это не работает, пожалуйста, помогите.

<form>
  <input type="checkbox" name="bla[]" value="1" />
  <input type="checkbox" name="bla[]" value="2" />
</form>

JS:

$(document).ready( function () {    

   $("input[name=bla]").each( function () {
       alert( $(this).val() );
   });

});

DEMO

4b9b3361

Ответ 1

Вы выбираете входы с атрибутом имени "bla", но ваши входы имеют атрибут имени "bla[]".

$("input[name='bla[]']").each(function (index, obj) {
        // loop all checked items
    });

http://jsfiddle.net/26axX/

Ответ 2

Вы также должны включить скобки.,.

<input type="checkbox" name="bla[]" value="1" />

поэтому ссылка на него должна быть как name='bla[]'

$(document).ready( function () { 

   $("input[name='bla[]']").each( function () {
       alert( $(this).val() );
   });

});

Ответ 3

Я хотел бы добавить, что если вы пытаетесь получить все флажки с этим именем, которые были выбраны, вы хотели бы использовать следующий синтаксис:

$("[name='bla[]']:checked").each(function () {
    // do stuff
});

Убедитесь, что между закрывающимися ] и :checked

Ответ 4

Если вам нравится получать список всех значений отмеченных флажков (например, отправлять их как список в один вызов AJAX на сервер), вы можете получить этот список с помощью:

var list = $("input[name='bla[]']:checked").map(function () {
    return this.value;
}).get();

Ответ 5

$('[name="CheckboxName"]:checked').each(function () {
    // do stuff
});

Ответ 6

$("input[name='bla[]']").each( function () {
    alert($(this).val());
});

Ответ 7

Как было сказано несколько раз, вам нужно сменить селектор на

$("input[name='bla[]']")

Но я хочу добавить, иметь для использования одиночных или двойных кавычек при использовании [] в селекторе.

Ответ 8

//получить значения флажка, используя имя флажка

<head>
        <script>
        function getCheckBoxValues(){
            $('[name="checkname"]').each( function (){
                alert($(this).val());
            });
        }
        </script>
    </head>
    <body>
        <input type="checkbox" name="checkname" value='1'/>
        <input type="checkbox" name="checkname" value='2'/>
        <input type="checkbox" name="checkname" value='3'/>
        <input type="button" value="CheckBoxValues" onclick="getCheckBoxValues()"/>
    </body>

//получаем только те значения, которые проверены

function getCheckBoxValues(){
        $('[name="checkname"]').each( function (){
            if($(this).prop('checked') == true){
                alert($(this).val());
            }
        });
    }