Jquery 从多个复选框中获取值

Jquery 从多个复选框中获取值,jquery,ajax,checkbox,Jquery,Ajax,Checkbox,我有这个复选框 <input type="checkbox" class="calc" name="access[a]" value="1" /> <input type="checkbox" class="calc" name="access[b]" value="2" /> <input type="checkbox" class="calc" name="access[c]" value="3" /> <input type="checkbox"

我有这个复选框

<input type="checkbox" class="calc" name="access[a]" value="1" />
<input type="checkbox" class="calc" name="access[b]" value="2" />
<input type="checkbox" class="calc" name="access[c]" value="3" />
<input type="checkbox" class="calc" name="access[d]" value="4" />

我需要以下东西,我会用一个例子来解释: 假设我选中了第一个和第二个复选框,然后将发送“ab”([access[a]+access[b])和“3”(1+2)

编辑1: 你没有和我在一起。我想要2要发送的东西,计算价值和访问[价值]

例如:
用户选择第三个和第四个字段,7(3+4)和cd([access[c]+access[d])将被发送。

您只需在其中循环即可

var added= 0;
$(".calc:checkbox:checked").each(function () {
    added += +$(this).val();
});

强制性的一般性回答:

按类获取数组中的元素(也可以使用
querySelectorAll(.calc”)
(或
[name*='access']
等)

循环元素数组,检查checked属性,并添加到sum中(确保将值解析为Int,以避免出现
NaN
问题)

var总和=0;
var x=document.getElementsByClassName(“计算”);

对于(var i=0;i另一种香草溶液:

var res = [ ].reduce.call( document.querySelectorAll( 'input.calc:checked' ), function( a, b ) {
    return a + (+b.value || 0);
}, 0);

演示:

Nice.
var$=function(sel){return Array.prototype.slice.call(0,document.queryselectoral(sel));}
函数sum(a,b){return a+b}
可以让你做(没有80kb库!)做
var res=$(“input.calc:checked”)、map(getValue).reduce(sum)
好像每个人都误解了我的问题。我更新了我的问题,你介意检查一下吗?
var res = [ ].reduce.call( document.querySelectorAll( 'input.calc:checked' ), function( a, b ) {
    return a + (+b.value || 0);
}, 0);