Javascript 单选按钮/复选框/选择选项-添加所选项目的总价格(值),并将其添加到数组中

Javascript 单选按钮/复选框/选择选项-添加所选项目的总价格(值),并将其添加到数组中,javascript,jquery,arrays,checkbox,radio-button,Javascript,Jquery,Arrays,Checkbox,Radio Button,所以我想得到所有选中或选中输入(复选框、单选按钮、选择选项)的值,并将它们相加。但我也希望将这些值插入到数组中,并在取消选择或取消选中时更改数组中的值 我希望在触发任何输入时,对更改的、选定的或检查的输入的所有值求和 var gh=[]; $('#CheckBoxList')。在('change','input[type=checkbox]',function()上{ var id=$(this).val();//这给了我null var指数=gh.indexOf(id); 如果($(this

所以我想得到所有选中或选中输入(复选框、单选按钮、选择选项)的值,并将它们相加。但我也希望将这些值插入到数组中,并在取消选择或取消选中时更改数组中的值

我希望在触发任何输入时,对更改的、选定的或检查的输入的所有值求和

var gh=[];
$('#CheckBoxList')。在('change','input[type=checkbox]',function()上{
var id=$(this).val();//这给了我null
var指数=gh.indexOf(id);
如果($(this).is(':checked')){
推(id);
document.getElementById(“demo”).innerHTML='['+gh+']';
}
否则{
如果(索引>-1){
gh.拼接(索引1);
document.getElementById(“demo”).innerHTML='['+gh+']';
}
}
控制台日志(gh);
var总和=0;
var-gn,elem;
var-gn,elem;
对于(i=0;i-1){
gh.拼接(索引1);
document.getElementById(“demo”).innerHTML='['+gh+']';
}
}
控制台日志(gh);
});
$('#数量')。更改(函数(){
var id=$(this).val();//这给了我null
var指数=gh.indexOf(id);
如果($(this).is(':checked')){
推(id);
document.getElementById(“demo”).innerHTML='['+gh+']';
}
否则{
如果(索引>-1){
gh.拼接(索引1);
document.getElementById(“demo”).innerHTML='['+gh+']';
}
}
控制台日志(gh);
});

苹果
橙色
松果体
柠檬
芒果
小杯
中杯
大杯
选择数量
1.
2.
3.
4.
5.
总成本
总检查

总计框
我添加了一个“数据输入”属性,以一次选中所有复选框和收音机。 这是使用jQuery的一种最简单的方法:

函数storeArray(){
var-tab={};
$('*[data in=“num”]:选中,#数量')。每个(函数(){
tab[$(this.attr('name')]=parseInt($(this.val());
});
返回选项卡;
}
功能验证{
//这就是我们检查是否至少选中了一个复选框的方式
/*if($(“输入:复选框:未(:选中)”).length=$(“输入[类型=复选框]).length){
$('totalcost,#checkedcount').val(0);
}否则{*/
$('#checkedcount').val(s);
$('totalcost').val((parseInt($('totalcost').val())+s));
$('totalcount').val($('quantity').val());
//}
}
$('*[data in=“num”],#quantity')。在('change',function()上{
var总和=0;
$('[data in=“num”]:checked')。每个(函数(){
sum+=parseInt($(this.val());
});
验证(总和);
myArray=storeArray();
//包含所有输入值的myArray对象
//log(myArray);
//例如,这就是如何获得数量的方法
//log(myArray['quantity']);
});

苹果
橙色
松果体
柠檬
芒果
小杯
中杯
大杯
选择数量
1.
2.
3.
4.
5.
总成本
总检查
总箱数
我添加了一个“数据输入”属性,以一次选中所有复选框和收音机。 这是使用jQuery的一种最简单的方法:

函数storeArray(){
var-tab={};
$('*[data in=“num”]:选中,#数量')。每个(函数(){
tab[$(this.attr('name')]=parseInt($(this.val());
});
返回选项卡;
}
功能验证{
//这就是我们检查是否至少选中了一个复选框的方式
/*if($(“输入:复选框:未(:选中)”).length=$(“输入[类型=复选框]).length){
$('totalcost,#checkedcount').val(0);
}否则{*/
$('#checkedcount').val(s);
$('totalcost').val((parseInt($('totalcost').val())+s));
$('totalcount').val($('quantity').val());
//}
}
$('*[data in=“num”],#quantity')。在('change',function()上{
var总和=0;
$('[data in=“num”]:checked')。每个(函数(){
sum+=parseInt($(this.val());
});
验证(总和);
myArray=storeArray();
//包含所有输入值的myArray对象
//log(myArray);
//例如,这就是如何获得数量的方法
//log(myArray['quantity']);
});

苹果
橙色
松果体
柠檬
芒果
小杯
中杯
大杯
选择数量
1.
2.
3.
4.
5.
总成本
总检查
总箱数
你好!你能解释一下你期望的公式吗。。。只是数学上的。例如“(选中复选框的总和+单选按钮)*数量)。关于数组的Sthg不清楚:)是否希望它采用序列化格式(选中元素的映射数组/Json数组/本地存储数组)?或者它只是您在本文中提到的一个求和变量?好的。我希望选择一个包含所有值的数组。这样,如果任何单选按钮或所选选项被更改,或者复选框被取消选择,它们的值将从数组中删除,并且总的求和也将更改。您好!您能解释一下您期望的f吗ormula…只是数学上的。比如“(复选框的总和+无线电按钮)*数量)。关于数组的Sthg不清楚:)是否希望它采用序列化格式(选中元素的映射数组/Json数组/本地存储数组)?或者它只是你在本文中提到的一个求和变量?好的。我希望选择一个包含所有值的数组。这样,如果更改了任何单选按钮或所选选项,或取消选中复选框,则它们的值将从数组中删除,并且总和也将更改;此对话已结束。评论不用于扩展讨论;这段对话已经结束。