Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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 - Fatal编程技术网

Javascript JQuery计算按钮

Javascript JQuery计算按钮,javascript,jquery,Javascript,Jquery,目前我有一个GPA计算器,在输入数据时计算数据。我想添加一个名为“计算”的计算按钮,该按钮将计算所有输入的数据,但仅当按下时。因此,计算只会在按下此按钮时发生,而不会像当前那样进行 代码如下: var$oBox=$('.outer box'); 变量$gpa=$(“#gpa”); var$result=$('.result').hide(); $('.btn')。单击(函数(){ $('.block').last().clone().children().val(“”.parent().app

目前我有一个GPA计算器,在输入数据时计算数据。我想添加一个名为“计算”的计算按钮,该按钮将计算所有输入的数据,但仅当按下时。因此,计算只会在按下此按钮时发生,而不会像当前那样进行

代码如下:

var$oBox=$('.outer box');
变量$gpa=$(“#gpa”);
var$result=$('.result').hide();
$('.btn')。单击(函数(){
$('.block').last().clone().children().val(“”.parent().appendTo($('.inner box'));
});
$oBox.on('keyup','.credits',function(){
$gpa.text(getTotal());
});
$oBox.on(“更改”,“.grade选择”,函数(){
$gpa.text(getTotal());
$result.is(“:hidden”)&&&$result.show();
});
函数getTotal(){
var gradeTotal=0;
var总和=0;
$(“.credits”)。每个(函数(){
var$this=$(this);
如果(!isNaN($this.val())和&!isNaN($this.parent().find('.grade select').val())){
sum+=parseFloat($this.val()| | 0)*parseFloat($this.parent().find('.grade select').val()| | 0);
gradeTotal+=parseFloat($this.val()| | 0)
}
});
返回值(总和/总等级)。toFixed(2);
}
$(“.btn”)。在(“单击”,函数(){
$('html,body')。设置动画({
scrollTop:$(文档).height()
}“慢”);
返回false;
});
正文{
背景色:#A00000;
背景尺寸:封面;
保证金:0;
填充:0;
}
.外箱{
边框:3倍纯黑;
身高:真;
宽度:75%;
填充:10px;
保证金:10px自动10px自动;
边界半径:10px;
背景色:白色;
}
.街区{
保证金:5px;
}
.类{
边框:1px纯色灰色;
边界半径:5px;
宽度:150px;
高度:35px;
利润率:10px;
填充物:5px;
}
.学分{
边框:1px纯色灰色;
边界半径:5px;
宽度:100px;
高度:35px;
利润率:10px;
填充物:5px;
}
.等级选择{
边框:1px纯色灰色;
边界半径:5px;
宽度:100px;
高度:35px;
利润率:10px;
填充物:5px;
}
.btn{
边框:2件纯黑;
边界半径:5px;
宽度:150px;
高度:35px;
利润率:10px;
填充物:5px;
字体大小:粗体;
文本对齐:居中;
}
.结果{
边框:2件纯黑;
边界半径:5px;
宽度:200px;
高度:100px;
保证金:20px自动20px自动;
填充物:5px;
字体大小:粗体;
文本对齐:居中;
}
#平均成绩{
字号:4rem;
颜色:黑色;
字体大小:粗体;
}


信用 半年 全年
等级 A+ A. B+ B C+ C D F 添加类 平均成绩
您正在为
keyup
change
调用侦听器中的getTotal函数。因此,正在立即进行计算。如果您希望它发生在单击某个按钮时,请为单击按钮指定一个侦听器,并在那里调用
getTotal

比如:

$("#calculate").click(function(){
 // code for getting values from input box using .val()
 //then call getTotal();
});

希望有帮助,如果您仍然无法实现,请告诉我们。

将计算功能的调用从下拉更改事件更改为单击按钮
var$oBox=$('.outer box');
变量$gpa=$(“#gpa”);
var$result=$('.result').hide();
$('.btn')。单击(函数(){
$('.block').last().clone().children().val(“”.parent().appendTo($('.inner box'));
});
$oBox.on('keyup','.credits',function(){
$gpa.text(getTotal());
});
$oBox.on(“更改”,“.grade选择”,函数(){
});
函数getTotal(){
var gradeTotal=0;
var总和=0;
$(“.credits”)。每个(函数(){
var$this=$(this);
如果(!isNaN($this.val())和&!isNaN($this.parent().find('.grade select').val())){
sum+=parseFloat($this.val()| | 0)*parseFloat($this.parent().find('.grade select').val()| | 0);
gradeTotal+=parseFloat($this.val()| | 0)
}
});
返回值(总和/总等级)。toFixed(2);
}
$(“#计算”)。在(“单击”,函数(){
$gpa.text(getTotal());
$result.is(“:hidden”)&&&$result.show();
$('html,body')。设置动画({
scrollTop:$(文档).height()
}“慢”);
返回false;
});
正文{
背景色:#A00000;
背景尺寸:封面;
保证金:0;
填充:0;
}
.外箱{
边框:3倍纯黑;
身高:真;
宽度:75%;
填充:10px;
保证金:10px自动10px自动;
边界半径:10px;
背景色:白色;
}
.街区{
保证金:5px;
}
.类{
边框:1px纯色灰色;
边界半径:5px;
宽度:150px;
高度:35px;
利润率:10px;
填充物:5px;
}
.学分{
边框:1px纯色灰色;
边界半径:5px;
宽度:100px;
高度:35px;
利润率:10px;
填充物:5px;
}
.等级选择{
边框:1px纯色灰色;
边界半径:5px;
宽度:100px;
高度:35px;
利润率:10px;
填充物:5px;
}
.btn{
边框:2件纯黑;
边界半径:5px;
宽度:150px;
高度:35px;
利润率:10px;
填充物:5px;
字体大小:粗体;
文本对齐:居中;
}
.结果{
边框:2件纯黑;
边界半径:5px;
宽度:200px;
高度:100px;
保证金:20px自动20px自动;
填充物:5px;
字体大小:粗体;
文本对齐:居中;
}
#平均成绩{
字号:4rem;
颜色:黑色;
字体大小:粗体;
}


信用 半年 全年
等级 A+ A. B+ B C+ C D F 添加类 算计 平均成绩
问题出在哪里?@SarveshKumar目前,计算是在输入数据时进行的。我只想在按下按钮时计算数据。