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);