jquery的两个输入值之和

Sum of two input value by jquery

本文关键字:输入 两个 jquery      更新时间:2023-09-26

我有代码:

function compute() {
    if ($('input[name=type]:checked').val() != undefined) {
        var a = $('input[name=service_price]').val();
        var b = $('input[name=modem_price]').val();
        var total = a + b;
        $('#total_price').val(a + b);
    }
}

在我的代码中,我想要两个文本输入的和值,并写一个id为"total"的文本输入

我的两个数字不能加在一起,例如:

service_price value = 2000modem_price=4000在这个例子中,总输入值必须是6000,但它是20004000

您的代码是正确的,只是添加(串联(字符串,而不是添加整数。只需将您的代码更改为:

function compute() {
    if ( $('input[name=type]:checked').val() != undefined ) {
        var a = parseInt($('input[name=service_price]').val());
        var b = parseInt($('input[name=modem_price]').val());
        var total = a+b;
        $('#total_price').val(a+b);
    }
}

这应该奏效。

以下是一些工作示例,当复选框选中值时更新总和(如果选中此复选框,则当其中一个字段更改时也会更新值(:jsfiddle。

因为至少有一个值是字符串,所以+运算符被解释为字符串串联运算符。对此,最简单的解决方法是指示您希望将值解释为数字。

var total = +a + +b;

$('#total_price').val(+a + +b);

或者,更好的是,把它们作为数字来开始:

var a = +$('input[name=service_price]').val();
var b = +$('input[name=modem_price]').val();
var total = a+b;
$('#total_price').val(a+b);

请参阅Mozilla的Unary+文档。

请注意,只有当您知道该值无论如何都将是一个数字时,这才是一个好主意。如果这是用户输入,您必须更加小心,并且可能希望使用parseInt和其他验证,就像其他答案所建议的那样。

使用parseInt作为a = parseInt($('input[name=service_price]').val())

使用parseInt

   var total = parseInt(a) + parseInt(b);

    $('#total_price').val(total);

<script>
$(document).ready(function(){
var a =parseInt($("#a").val());
var b =parseInt($("#b").val());
$("#submit").on("click",function(){
var sum = a + b;
alert(sum);
});
});
</script>

将它们转换为数字

$('#total_price').val(Number(a)+Number(b));

但在你做之前

if (!isNaN($('input[name=service_price]').val()) {...

如果在多个类中,您想更改下面示例中显示的属性类中的附加操作

$('.like').click(function(){    
var like= $(this).text();
$(this).text(+like + +1);
});