Ответ 1
var checked = []
$("input[name='options[]']:checked").each(function ()
{
checked.push(parseInt($(this).val()));
});
<input type="checkbox" name="options[]" value="1" />
<input type="checkbox" name="options[]" value="2" />
<input type="checkbox" name="options[]" value="3" />
<input type="checkbox" name="options[]" value="4" />
<input type="checkbox" name="options[]" value="5" />
Как я могу создать массив со значениями отмеченных флажков?
ПРИМЕЧАНИЕ: (ВАЖНО) Мне нужен массив вроде [1, 2, 3, 4, 5], а не как [ "1", "2", "3", "4", "5" ].
ПРИМЕЧАНИЕ. Есть около 50 флажков.
Может кто-нибудь мне помочь? Пожалуйста!
Спасибо!
var checked = []
$("input[name='options[]']:checked").each(function ()
{
checked.push(parseInt($(this).val()));
});
Вы можете использовать $.map()
(или даже функцию .map()
, которая работает на jQuery объект), чтобы получить массив проверенных значений. Унарный (+) оператор будет передавать строку в число
var arr = $.map($('input:checkbox:checked'), function(e,i) {
return +e.value;
});
console.log(arr);
Здесь пример
var checkedString = $('input:checkbox:checked.name').map(function() { return this.value; }).get().join();
Если у вас есть класс для каждого из полей ввода, вы можете сделать это как
var checked = []
$('input.Booking').each(function ()
{
checked.push($(this).val());
});