Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.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/89.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/8/perl/11.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_Cakephp 3.0 - Fatal编程技术网

Javascript jQuery-通过将值乘以复选框值来计算该值

Javascript jQuery-通过将值乘以复选框值来计算该值,javascript,jquery,html,cakephp-3.0,Javascript,Jquery,Html,Cakephp 3.0,我需要计算值total,它是初始值(比如说10)和因子a、B、C和D的乘积,它们等于,比如说2、3、4和5 用户应通过选中相应的框来选择因素的组合。问题是,我需要以一种形式独立地重复多次,而下面的解决方案(针对其中两个部分)并没有正确地将此过程分开。如果这些是文本值,我会这样做,例如,var$text=$(“.result”,$section) 基本上,我不明白如何将数值变量与这些部分联系起来。此外,如果在结果字段中有此初始值(10),即使没有选中任何框,也会很好 $(文档).ready(函数

我需要计算值
total
,它是初始值(比如说10)和因子a、B、C和D的乘积,它们等于,比如说2、3、4和5

用户应通过选中相应的框来选择因素的组合。问题是,我需要以一种形式独立地重复多次,而下面的解决方案(针对其中两个部分)并没有正确地将此过程分开。如果这些是文本值,我会这样做,例如,
var$text=$(“.result”,$section)

基本上,我不明白如何将数值变量与这些部分联系起来。此外,如果在
结果
字段中有此初始值(10),即使没有选中任何框,也会很好

$(文档).ready(函数(){
$(“.factor复选框”)。单击(函数(事件){
var$section=$(this).closest(“.section”);
var总计=10;
$(“.factor复选框:选中”).each(函数(){
total*=parseInt($(this.val());
});
$('.result').val(总计);
});
});

A.
B
C
D
结果
A.
B
C
D
结果
$(文档).ready(函数(){
$(“.factor复选框”)。单击(函数(){
var$section=$(this).closest(“.section”)
var总计=10;
$section.find(“.factor复选框:选中”).each(函数(){
total*=parseInt($(this.val());
});
$section.find(“.result”).val(总计);
});
});

A.
B
C
D
结果
A.
B
C
D
结果
$(文档).ready(函数(){
$(“.factor复选框”)。单击(函数(){
var$section=$(this).closest(“.section”)
var总计=10;
$section.find(“.factor复选框:选中”).each(函数(){
total*=parseInt($(this.val());
});
$section.find(“.result”).val(总计);
});
});

A.
B
C
D
结果
A.
B
C
D
结果

我假设您希望行是独立的:

$(文档).ready(函数(){
$(“.factor复选框”)。单击(函数(事件){
var$section=$(this).closest(“.section”),
initial=parseInt($section.find('.result')。data('initial')),
总计=初始值;
$section.find(“输入:选中”)。每个(函数(){
total*=parseInt($(this.val());
});
$section.find('.result').val(总计===初始值?初始值:总计);
});
//获取总值
$(“.res_按钮”)。单击(函数(){
var$section=$(this).closest(“.section”);
var total=$section.find('.result').val();
控制台日志(总计);
});
});

A.
B
C
D
结果
结果1行
A.
B
C
D
结果
结果2行

我假设您希望行是独立的:

$(文档).ready(函数(){
$(“.factor复选框”)。单击(函数(事件){
var$section=$(this).closest(“.section”),
initial=parseInt($section.find('.result')。data('initial')),
总计=初始值;
$section.find(“输入:选中”)。每个(函数(){
total*=parseInt($(this.val());
});
$section.find('.result').val(总计===初始值?初始值:总计);
});
//获取总值
$(“.res_按钮”)。单击(函数(){
var$section=$(this).closest(“.section”);
var total=$section.find('.result').val();
控制台日志(总计);
});
});

A.
B
C
D
结果
结果1行
A.
B
C
D
结果
结果2行

感谢您的快速建议,但您版本中的第二个结果受第一个结果的影响。如果我在第一个原始版本中检查A,我将得到20,在第二个原始版本中得到40。感谢您的快速建议,但是您版本中的第二个结果受第一个结果的影响。如果我在第一次未经加工的情况下检查A,我将得到20,在第二次得到-40。太好了!谢谢有没有办法从一开始就在结果字段中输入10?是的,您可以通过向
结果添加
value
属性,将其作为初始值放在结果字段中,如
value=“10”
。检查更新后的答案。我可以从该属性读取total的初始值吗?现在所有条目都需要10。@Vincent Vega当然,您可以随时读取该属性的值。我更新了我的答案,我想我明白了。问题是“10”是硬编码的。相反,您需要在附加属性“data initial”中保留初始值,如果未选中复选框,则将字段设置为其初始值。检查更新的答案。完美!谢谢有没有办法从一开始就在结果字段中输入10?是的,您可以通过向
结果添加
value
属性,将其作为初始值放在结果字段中,如
value=“10”
。检查更新后的答案。我可以从该属性读取total的初始值吗?现在所有条目都需要10。@Vincent Vega当然,您可以随时读取该属性的值。我更新了我的答案,我想我明白了。问题是“10”是硬编码的。相反,您需要在附加属性“data initial”中保留初始值,如果未选中复选框,则将字段设置为其初始值。检查更新的答案。