jquery在ajax结果值中添加不起作用

时间:2016-09-08 10:43:09

标签: php jquery ajax

我想在该文本框中添加结果值加上已存在的值。但添加不工作连接正在工作

$.post('includes/ajax_timesheet.php', {
  'action': 'add_kitamount',
  'jobnumber': jobno,
  'invoiceno': inv_no
}, function (data) {
  var tot1 = $('#tot_dayrate').val();
  var tot2 = $.trim(data);
  var tot = tot1 + tot2;
  alert(tot);
  $("#tot_dayrate").val(tot);
});

4 个答案:

答案 0 :(得分:1)

转换为数字

var tot = Number(tot1) + Number(tot2);

var tot = parseInt(tot1) + tot2;

答案 1 :(得分:1)

  var tot = parseFloat(tot1) + parseFloat(tot2);

答案 2 :(得分:1)

正在进行连接,因为值被视为字符串+运算符。使用任何可用的javascript函数将值解析为数字,然后您将得到正确的总数。

当然,您需要处理无效输入。下面仅显示解析数字函数的示例。

var tot = parseInt(tot1) + parseInt(tot2);

检查here for string to number conversion以及Number()parseInt()parseFloat()函数之间差异的良好解释。

答案 3 :(得分:0)

.val()返回String中元素的值。首先需要转换为Number才能执行算术运算。

您可以使用Number()将字符串转换为编号格式。

所以你的代码看起来像这样,

var tot1 = $('#tot_dayrate').val();
if(tot1!='') {
    tot1=Number(tot1);
}
var tot2 = $.trim(data);
if(tot2!='') {
   tot2=Number(tot2);
}
var tot = tot1 + tot2;

确保在将String转换为int之前检查空白值。