Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.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
Jquery 计算表单输入并在屏幕上显示_Jquery - Fatal编程技术网

Jquery 计算表单输入并在屏幕上显示

Jquery 计算表单输入并在屏幕上显示,jquery,Jquery,我有两个日期字段,我已经计算了,因为我需要时间。除此之外,我还有6个下拉列表,其中包含数值 当用户选择这些字段中的任何一个时,我希望在屏幕上计算/更新总数,类似于购物车。 我从这样的事情开始,但我不能让这该死的事情运作,显然我的逻辑是错误的。我意识到这是错误的,但我不知道如何修复它 $(function(){ $('a#calc').click(function(){ var p = $('select#TRDO').val(); var q = $('select#AnnualLeave').

我有两个日期字段,我已经计算了,因为我需要时间。除此之外,我还有6个下拉列表,其中包含数值

当用户选择这些字段中的任何一个时,我希望在屏幕上计算/更新总数,类似于购物车。 我从这样的事情开始,但我不能让这该死的事情运作,显然我的逻辑是错误的。我意识到这是错误的,但我不知道如何修复它

$(function(){
$('a#calc').click(function(){
var p = $('select#TRDO').val();
var q = $('select#AnnualLeave').val();
var r = $('select#PersonalLeave').val();
var s = $('select#WorkFromHome').val();
var t = $('select#TOIL').val();
var tot = (q+p+r+s+t);
$('input#total').val(tot);
});
}))

我只需要帮忙做第一件事,然后我就可以自己去做了


谢谢,这是非常令人沮丧的一天…

你可以尝试使用
parseInt
做一个数字添加:

$(function(){
  $('a#calc').click(function(){
     var p = parseInt($('select#TRDO').val(), 10);
     var q = parseInt($('select#AnnualLeave').val(), 10);
     var r = parseInt($('select#PersonalLeave').val(), 10);
     var s = parseInt($('select#WorkFromHome').val(), 10);
     var t = parseInt($('select#TOIL').val(), 10);
     var tot = (q+p+r+s+t);
     $('input#total').val(tot);
  });
});
如果没有
parseInt()
,加号运算符(
+
)将合并字符串,而不是添加它们的数值


希望这有帮助。干杯

将一个类添加到所有您想要合计的输入中,并使用parseInt…哦,您很可能不想使用。单击您可能想要的。更改

<input class="inputsToSum" value="4"/>

var runningTotal = 0;
$(".inputsToSum").change(function() {
    runningTotal += parseInt($(this).val(), 10);
});
$('input#total').val(runningTotal);

var runningTotal=0;
$(“.inputsToSum”).change(函数(){
runningTotal+=parseInt($(this).val(),10);
});
$('input#total').val(runningTotal);
更新

此代码在单击“计算”时起作用

$(function() {
     $('a #calc').click(function(){

        var p = parseFloat($('select[name=TRDO] option:selected').val());
        var q = parseFloat($('select[name=AnnualLeave] option:selected').val());
        var r = parseFloat($('select[name=PersonalLeave] option:selected').val());
        var s = parseFloat($('select[name=WorkFromHome] option:selected').val());
        var t = parseFloat($('select[name=TOIL] option:selected').val());

        var tot = (q + p + r + s + t);
         $('input#total').val(tot);

    });
});

您只需将其解析为整数或浮点

$(function(){
$('a#calc').click(function(){
var p = $('select#TRDO').val();
var q = $('select#AnnualLeave').val();
var r = $('select#PersonalLeave').val();
var s = $('select#WorkFromHome').val();
var t = $('select#TOIL').val();
var tot = (parseInt(q)+parseInt(p)+parseInt(r)+parseInt(s)+parseInt(t));
$('input#total').val(tot);
});
});

我试着用这个,但它一直在问我tot。这不是计算一次改变也…谢谢你,我试图使用你的样本,但它不会计算它给了NaN<代码>这是我初始化函数的方式。谢谢Villegas Alvarado我在做这个统计/计算时有什么遗漏吗。不,你没有遗漏任何东西。如果问题仍然存在,能否将代码上传到jsfiddle.net,并提供url供我查看?我要做的是在用户选择任何项目时更新字段。非常感谢。
$(function(){
$('a#calc').click(function(){
var p = $('select#TRDO').val();
var q = $('select#AnnualLeave').val();
var r = $('select#PersonalLeave').val();
var s = $('select#WorkFromHome').val();
var t = $('select#TOIL').val();
var tot = (parseInt(q)+parseInt(p)+parseInt(r)+parseInt(s)+parseInt(t));
$('input#total').val(tot);
});
});