jquery多个复选框数组

use*_*108 37 arrays checkbox jquery

<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" />
Run Code Online (Sandbox Code Playgroud)

如何使用已选中的复选框值创建数组?

注意:(重要)我需要像[1,2,3,4,5]这样的数组,而不是像["1","2","3","4","5"]那样的数组.
注意:大约有50个复选框.

有人能帮我吗?请!

谢谢!

Dor*_*use 71

var checked = []
$("input[name='options[]']:checked").each(function ()
{
    checked.push(parseInt($(this).val()));
});
Run Code Online (Sandbox Code Playgroud)


Rus*_*Cam 58

您可以使用$.map()(甚至.map()是对jQuery对象进行操作的函数)来获取已检查值的数组.一元(+)运算符将字符串转换为数字

var arr = $.map($('input:checkbox:checked'), function(e,i) {
    return +e.value;
});

console.log(arr);
Run Code Online (Sandbox Code Playgroud)

这是一个例子

  • 您可以进一步缩短它,例如 `var arr = $.map($('input:checkbox:checked'), (e) =&gt; +e.value);` (2认同)