如何添加输入值

时间:2016-04-01 14:09:15

标签: javascript jquery

我有4个文本框,即customer_phy_totcustomer_che_totcustomer_bio_tot。我尝试将所有3个输入框值添加并显示到第4个输入customer_pcb_tot

customer_bio_obt.blur(function(){
    var customer_pcb_tot = isNaN(parseInt($("#customer_phy_tot").val() + $("#customer_che_tot").val() + $("#customer_bio_tot").val())) ? 0 :( $("#customer_phy_tot").val() + $("#customer_che_tot").val() + $("#customer_bio_tot").val())
    $("#customer_pcb_tot").val(customer_pcb_tot);
});

问题是不是添加我的代码而是将其视为字符串。假设我分别有值10155。它应该在第4个框中显示30但在我的情况下显示10155

任何帮助非常感谢。

3 个答案:

答案 0 :(得分:3)

使用parseInt()函数执行此操作:)

你必须使用它来使每个值都有效。

正如@Jamie R Rytlewski所说:

  

确保您也使用基数值。 parseInt(string,radix);

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt

答案 1 :(得分:3)

您已经使用parseInt(),但是您需要在每个val()调用返回的字符串值上使用它。另请注意,使用三元表达式是多余的。试试这个:

customer_bio_obt.blur(function() {
    var customer_pcb_tot = parseInt($("#customer_phy_tot").val(), 10) + parseInt($("#customer_che_tot").val(), 10) + parseInt($("#customer_bio_tot").val(), 10);
    $("#customer_pcb_tot").val(customer_pcb_tot || 0);
});

答案 2 :(得分:0)

你可以在你问的每个val()中解析Int()。 或者将每一个乘以1然后再求它。

var customer_pcb_tot = isNaN(parseInt($(“#customer_phy_tot”)。val()+ $(“#customer_che_tot”)。val()+ $(“#customer_bio_tot”)。val()))? 0 :( $(“#customer_phy_tot”)。val()* 1 + $(“#customer_che_tot”)。val()* 1 + $(“#customer_bio_tot”)。val()* 1)