我有3列,并且我想在JavaScript上减去2列。第一列(列A)的数据来自数据库,第二列(列B)的数据由用户输入,第三列用于值。我已经成功运行了加法运算,但是实际上,我想要的是减法运算。我尝试将符号+更改为-,但结果却给了我错误的值。谁能帮我吗?
这是我的代码
<tr>
<td style="text-align: center; vertical-align:middle;"><?php echo $no; ?></td>
<td style="vertical-align:middle;"><?php echo $data[$i]['nama_barang']?></td>
<td style="text-align: right; vertical-align:middle;" class="so"><?php echo $data[$i]['stock']; ?></td>
<td><input type="number" class="form-control so" id="stock_op" name="stock_op" style="text-align: left"></td>
<td style="text-align: right; vertical-align:middle; font-weight:bold;"><output class="result"></output></td>
</tr>
<?php
}
?>
<script src="../js/jquery.min.js"></script>
<script>
$(document).on('input','.so',function(){
var grandSum = 0;
var totalSum = 0;
var currentRow = $(this).closest('tr');
currentRow.find('.so').each(function(){
var inputVal = ($(this).is('input')) ? $(this).val() : parseInt($(this).html());
if($.isNumeric(inputVal)){
totalSum += parseFloat(inputVal);
}
});
currentRow.find('.result').val(totalSum);
});
</script>
</tr>
这是表
答案 0 :(得分:0)
您必须将第一个值添加到总和中,然后减去第二个值作为
if($.isNumeric(inputVal)){
if(totalSum==0)
totalSum += parseFloat(inputVal);
else
totalSum -= parseFloat(inputVal);
}
答案 1 :(得分:0)
因为您要遍历库存/静态编号
<?php echo $data[$i]['stock']; ?>
即4
/ 13
和用户号码
<input type="number" class="form-control so" id="stock_op" name="stock_op" style="text-align: left">
您仍然需要添加库存编号,而只减去用户定义的编号。
所以你做不到
totalSum -= parseFloat(inputVal);
那样将两者相减。
因此您需要在{p>中使用-$(this).val()
var inputVal = ($(this).is('input')) ? -$(this).val() : parseInt($(this).html());
因为您只想减去输入字段的值。