Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在jquery中使用复选框添加值?_Javascript_Jquery_Html_Checkbox - Fatal编程技术网

Javascript 在jquery中使用复选框添加值?

Javascript 在jquery中使用复选框添加值?,javascript,jquery,html,checkbox,Javascript,Jquery,Html,Checkbox,我试图在选中某个复选框时添加值,但它只添加第一个复选框,而忽略选中的下一个复选框。例如,我选择了奶酪,然后选择了培根,它只添加奶酪,培根的值被忽略 var总计=0; if($(“输入:复选框[name='extras']:选中”).val()==“Cheese”){ 总数+=1.50*1; }else if($((“输入:复选框[name='extras']:选中”).val()=“Pepperoni”){ 总数+=1.50*1; }else if($((“输入:复选框[name='extra

我试图在选中某个复选框时添加值,但它只添加第一个复选框,而忽略选中的下一个复选框。例如,我选择了奶酪,然后选择了培根,它只添加奶酪,培根的值被忽略

var总计=0;
if($(“输入:复选框[name='extras']:选中”).val()==“Cheese”){
总数+=1.50*1;
}else if($((“输入:复选框[name='extras']:选中”).val()=“Pepperoni”){
总数+=1.50*1;
}else if($((“输入:复选框[name='extras']:选中”).val()==“蘑菇”){
总数+=1.50*1;
}else if($(“输入:复选框[name='extras']:选中”).val()==“Bacon”){
总数+=1.50*1;
}else if($(“输入:复选框[name='extras']:选中”).val()==“Olives”){
总数+=1.50*1;
}
$(“#ttl”).html(“总费用:$”+总计)

干酪

意大利 辣味 香肠
蘑菇
培根
橄榄


您需要遍历所有选中的复选框。在匹配多个元素的选择器上调用
.val()
时,它只返回第一个匹配的值

而不是一个大的
if/else if/…
块,而是使用一个数据结构来保持价格

var prices = {
    Cheese: 1.50,
    Pepperoni: 1.50,
    ...
};

$(":checkbox[name=extras]:checked").each(function() {
    total += prices[this.value];
});

您需要在所有选中的复选框上循环。在匹配多个元素的选择器上调用
.val()
时,它只返回第一个匹配的值

而不是一个大的
if/else if/…
块,而是使用一个数据结构来保持价格

var prices = {
    Cheese: 1.50,
    Pepperoni: 1.50,
    ...
};

$(":checkbox[name=extras]:checked").each(function() {
    total += prices[this.value];
});

非常感谢你。谢谢你的帮助:)非常感谢。我感谢你的帮助:)