- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚开始使用 jQuery,所以我还是个新手。有人可以帮我计算动态表中的新价格吗?我有一个包含 3 列的动态表,数量、折扣和价格。用户在当前价格、小计和总计所在的同一文本框中输入折扣 (%) 后,我需要重新计算新价格。
这是我的表格:
<table class="table">
<thead><tr><th style="width:60%">Description</th><th class="centrer" style="width:10%">Qty</th><th class="centrer" style="width:10%">Discount</th><th class="centrer" style="width:20%">Price</th></tr></thead>
<tbody>
<?php
if(isset($listeArticlePourUnDossier) && count($listeArticlePourUnDossier) > 0)
{
$sousTotal = 0;
$symbol = '';
$VAT = 0;
$TTC = 0;
$iArticles = 0;
while($iArticles < count($listeArticlePourUnDossier))
{
$ARTICLE_CURRENCY = $listeArticlePourUnDossier[$iArticles]['ARTICLE_CURRENCY'];
$sousTotal = $sousTotal + ($listeArticlePourUnDossier[$iArticles]['ARTICLE_PRIX']);
?>
<tr>
<td><?php echo ($listeArticlePourUnDossier[$iArticles]['ARTICLE_NOM']); ?></td>
<td class="centrer">1</td>
<td class="centrer"><input type="text" name="txtdiscount" id="txtdiscount_<?php echo $iArticles; ?>" onkeyup="calc()"/></td>
<td class="centrer"><input type="text" name="txtPrice" id="txtPrice_<?php echo $iArticles; ?>" readonly value="<?php echo (number_format($listeArticlePourUnDossier[$iArticles]['ARTICLE_PRIX'],2)); ?>"/></td>
</tr>
<?php
$iArticles++;
}
?>
<tr>
<td class="nocolor"></td>
<td></td>
<td class="centrer bold">Subtotal</td>
<td class="centrer bold"><?php echo (number_format($sousTotal,2)); ?></td>
</tr>
<tr>
<td class="nocolor"></td>
<td></td>
<td class="centrer bold">VAT</td>
<td class="centrer"><?phpecho (number_format($VAT,2)); ?></td>
</tr>
<tr>
<td class="nocolor"></td>
<td></td>
<td class="centrer bold">G.Total</td>
<td class="centrer bold">
<?php
$TTC = $sousTotal - $VAT;
echo (number_format($TTC,2));
?>
</td>
</tr>
<?php
}
?>
</tbody>
</table>
如何在用户输入折扣后立即在当前价格文本框中填写新价格,比如 10%?
感谢您的协助。
最佳答案
你可以这样在价格栏填写折扣金额,请查看下面的代码,希望对你有帮助,
在这里,更新了你正在使用的 td 和 js 代码。
谢谢。
<td class="centrer">
<input type="text" name="txtdiscount" value ="" id="txtdiscount_<?php echo $iArticles; ?>" onkeyup="calc(this.value,'<?php echo $iArticles; ?>')"
/>
</td>
<td class="centrer">
<input type="text" name="txtPrice" id="txtPrice_<?php echo $iArticles; ?>" readonly value="<?php echo (number_format($data['price'],2)); ?>" />
<input type="hidden" name="hidden_txtPrice" id="hidden_txtPrice_<?php echo $iArticles; ?>" readonly value="<?php echo (number_format($data['price'],2)); ?>" />
</td>
<tr>
<td class="nocolor"></td>
<td></td>
<td class="centrer bold">VAT</td>
<td class="centrer">
<select name="vatDropdown" id="vatDropdown">
<option value="-1">Select VAT</option>
<option value="1">Yes</option>
<option value="2">No</option>
</select>
</td>
</tr>
<tr>
<td class="nocolor"></td>
<td></td>
<td class="centrer bold">G.Total</td>
<td class="centrer bold" id="grandtotal">
<?php echo (number_format($TTC,2)); ?>
</td>
<input type="hidden" name="hidden_total" id="hidden_total" value="<?php echo (number_format($TTC,2)); ?>" />
</tr>
<script>
function calc(discount, article_id)
{
var price = 0;
var dis_amt = 0;
var calculatedAmt = 0;
var discount_amt = 0;
price = $("#hidden_txtPrice_"+article_id).val();
if(discount != '')
{
dis_amt = parseFloat(discount) / 100;
calculatedAmt = parseFloat(price) * parseFloat(dis_amt);
discount_amt = parseFloat(price) - parseFloat(calculatedAmt);
$("#txtPrice_"+article_id).val(discount_amt);
}
else
{
$("#txtPrice_"+article_id).val(price);
}
}
$("#vatDropdown").on('change', function(){
var dropdown_val = $(this).val();
var grandtotal = $("#hidden_total").val();
if(dropdown_val == '1')
{
var vat_dis = 15 / 100;
var vat_amt = parseFloat(grandtotal) * parseFloat(vat_dis);
var gTotal = parseFloat(grandtotal) + parseFloat(vat_amt);
$("#grandtotal").html(gTotal.toFixed(2));
}
else
{
$("#grandtotal").text(grandtotal);
}
});
</script>
关于javascript - 如何在动态表中计算折扣、税(增值税)、小计和总计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56437918/
源 XML: A 10 A 10 B 10
我有一个如下所示的 Excel 电子表格(我将所有 secret 信息设为白色字体,因此请忽略空格) 总列在 d 列或第 4 列。我需要做的是对 d 列中的值进行小计,直到它到达显示“...-TOTA
我有以下值的数组 Array ( [0] => Array ( [order_date] => 2016-01-01 [sku
我目前正在使用此代码段在我的 Magento 商店的 topcart 中显示购物车总数。我的问题是当产品放入购物车时它并不总是更新,它只是显示 0$,尤其是可配置的产品。但是当第二个产品放入购物车时,
问题, 我有这样的表格: PID Category Year 1 AAA 2011 2 AAA 2012 3 BBB 2011 4 CCC 20
我很难解决一个简单的问题。如何在 django 模板中计算总计和小计? 假设我想生成客户订单的报告,例如: Desired Report Output Customer1 1 Wi
您可以在问题的编辑部分找到 C# 的解决方案。特别感谢 Bruno Lowagie 我正在尝试通过 C# 中的 iTextSharp 创建发票。它工作得很好,但是当我尝试在每一页上打印小计时我遇到了问
我有 2 个大型事件表。第一个表是一个数据表 (tblData),其中包含日期、持续时间和代码(用于标识事件)。第二个表是每个事件花费的总时间的汇总表 (tblSummary)。 如何筛选 tblDa
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 8 年前。 Improve th
这是我使用的数据示例: SCENARIO DATE POD AREA IDOC STATUS TYPE AAA 02.06.2015 JKJKJKJ
我有一个包含 2 组行的数据表,我想要一列的总和/小计,例如,每个分组行的年龄(我知道这没有意义;))。 这是一个JSFiddle . $(document).ready(functi
客户提出需求,针对某一列分组加上小计,合计汇总。网上找了一些有关SQL加合计的语句。都不是很理想。决定自己动手写。 思路有三个: 1.很多用GROUPPING和ROLLUP来实现。 优
想象一下这个类似 DTO 的类: class LineItem : INotifyPropertyChanged { public event PropertyChangedEventHand
结构如下:
我非常希望有人能够帮助解决这个似乎在我们的 magento(版本 1.6.2.0)结帐和应用折扣代码时发生的错误。这不是最容易解释的,所以我附上了一张图片: http://i.imgur.com/iX
当我尝试使用带有 0.00 美元小计的 PayPal API 时,我收到错误: [10413] => The totals of the cart item amounts do not match
出于某种原因,当我尝试使用 SDK 授权 PayPal 付款时,我的日志中不断出现以下错误: ERROR: Got Http response code 400 when accessing http
我在我的 .Net MVC 4 Razor 网站上使用 PayPal 的 REST API。 在创建付款时,我通过 fiddler 跟踪了以下请求和响应: 任何人都可以解释导致错误的原因吗?交易总金额
我是一名优秀的程序员,十分优秀!