Значения галочки jQuery для списка, разделенного запятыми

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

<input type="checkbox" name="example[]" value="288" />
<input type="checkbox" name="example[]" value="289" />
<input type="checkbox" name="example[]" value="290" />

Например, если выбрано первое и последнее поле, выход будет:

var output = "288,290";

Как я могу сделать это с помощью jQuery?

Ответ 1

Вы можете использовать селектор атрибутов :checkbox и name (:checkbox[name=example\\[\\]]), чтобы получить список флажков с name="example[]", а затем вы можете использовать фильтр :checked, чтобы получить только выбранный флажок.

Затем вы можете использовать функцию .map, чтобы создать массив из выбранного флажка.

DEMO

var output = $.map($(':checkbox[name=example\\[\\]]:checked'), function(n, i){
      return n.value;
}).join(',');

Ответ 2

В настоящее время не проверено, но я считаю, что следующее должно работать:

var valuesArray = $('input:checkbox:checked').map( function () {
    return $(this).val();
}).get().join();

Отредактировано, после небольшого перерыва, использовать собственный DOM, а не $(this).val() (который в этом случае бесполезен):

var valuesArray = $('input:checkbox:checked').map( function() {
    return this.value;
}).get().join(",");

Ответ 3

var valuesArray = $('input[name="valuehere"]:checked').map(function () {  
        return this.value;
        }).get().join(",");

работает всегда для меня

Ответ 4

Как получить несколько значений флажков и вывести их в виде списка строк через запятую.

var favProgramming = [];
$.each($("input[name='programming']:checked"), function(){            
    favProgramming .push($(this).val());
});

alert("My favourite programming languages are: " + favProgramming);

ДЛЯ ДЕМО