Я хочу пройти через группу флажков «locationthemes» и построить строку со всеми выбранными значениями. Таким образом, когда установлены флажки 2 и 4, результат будет: «3,8».
<input type="checkbox" name="locationthemes" id="checkbox-1" value="2" class="custom" />
<label for="checkbox-1">Castle</label>
<input type="checkbox" name="locationthemes" id="checkbox-2" value="3" class="custom" />
<label for="checkbox-2">Barn</label>
<input type="checkbox" name="locationthemes" id="checkbox-3" value="5" class="custom" />
<label for="checkbox-3">Restaurant</label>
<input type="checkbox" name="locationthemes" id="checkbox-4" value="8" class="custom" />
<label for="checkbox-4">Bar</label>
Я проверил здесь: http://api.jquery.com/checked-selector/, но нет примера, как выбрать группу флажков по ее имени.
Как я могу это сделать?
javascript
jquery
Фло
источник
источник
$('input:checkbox[name=locationthemes]:checked').each(function() { // add $(this).val() to your array });
Рабочая демонстрация
ИЛИ ЖЕ
Используйте
is()
функцию jQuery :$('input:checkbox[name=locationthemes]').each(function() { if($(this).is(':checked')) alert($(this).val()); });
Взаимодействие с другими людьми
источник
Сопоставить массив - самый быстрый и чистый.
var array = $.map($('input[name="locationthemes"]:checked'), function(c){return c.value; })
вернет значения в виде массива, например:
array => [2,3]
предполагая, что замок и сарай были проверены, а другие нет.
источник
$("#locationthemes").prop("checked")
источник
Использование
map
функции jqueryvar checkboxValues = []; $('input[name=checkboxName]:checked').map(function() { checkboxValues.push($(this).val()); });
источник
You can also use the below code $("input:checkbox:checked").map(function() { return $(this).val(); }).get();
источник
Итак, все в одной строке:
var checkedItemsAsString = $('[id*="checkbox"]:checked').map(function() { return $(this).val().toString(); } ).get().join(",");
... примечание о селекторе
[id*="checkbox"]
, он захватит любой элемент со строкой "checkbox" в нем. Немного неуклюже, но действительно хорошо, если вы пытаетесь вытащить выбранные значения из чего-то вроде .NET CheckBoxList. В этом случае «флажок» будет именем, которое вы дали элементу управления CheckBoxList.источник
Источник - Подробнее
Получить значение выбранных флажков с помощью jQuery
Затем мы пишем скрипт jQuery для получения выбранного значения флажка в массиве с помощью jQuery each (). Используя эту функцию jQuery, он запускает цикл, чтобы получить проверенное значение и поместить его в массив.
источник
var SlectedList = new Array(); $("input.yorcheckboxclass:checked").each(function() { SlectedList.push($(this).val()); });
источник
var voyageId = new Array(); $("input[name='voyageId[]']:checked:enabled").each(function () { voyageId.push($(this).val()); });
источник
var voyageIds = $('input[name="voyageId[]"]:checked:enabled').map(function() {return this.value; }).get();
$(document).ready(function(){ $(".btn-submit").click(function(){ $('.cbCheck:checkbox:checked').each(function(){ alert($(this).val()) }); }); });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input type="checkbox" id="vehicle1" name="vehicle1" class="cbCheck" value="Bike"> <label for="vehicle1"> I have a bike</label><br> <input type="checkbox" id="vehicle2" name="vehicle2" class="cbCheck" value="Car"> <label for="vehicle2"> I have a car</label><br> <input type="checkbox" id="vehicle3" name="vehicle3" class="cbCheck" value="Boat"> <label for="vehicle3"> I have a boat</label><br><br> <input type="submit" value="Submit" class="btn-submit">
источник
Чуть более современный способ сделать это:
const selectedValues = $('input[name="locationthemes"]:checked').map( function () { return $(this).val(); }) .get() .join(', ');
Сначала мы находим все выбранные флажки с заданным именем, а затем jQuery map () выполняет итерацию по каждому из них, вызывая обратный вызов для получения значения и возвращая результат в виде новой коллекции jQuery, которая теперь содержит значения флажков. Затем мы вызываем для него get (), чтобы получить массив значений, а затем join (), чтобы объединить их в одну строку, которая затем присваивается константе selectedValues.
источник