情况:
大家好,我在这里全无所获。我是Javascript和Jquery的新手,正在尝试构建功能捐赠表单。我有三个文本框,每个文本框都标记为“购物车项目”。每个代表一个人可以捐赠的基金。设置了文本框,以便他们可以输入要捐赠的金额(美元)。然后,在底部,有一个calculateSum函数,将三个文本框中的值相加。这是我用来执行此操作的代码:
文本框:
<input type="text" id="donation" class="donation form-control" placeholder="0.00" onkeydown="return isNumber(event);" onkeypress="return validateFloatKeyPress(this,event);" maxlength="13">
总数显示在ID为#total的span标记中:
<span id="total" onchange="numbersWithCommas()">0.00</span>
这是使全部功能起作用的代码:
<script>
$(document).ready(function(){
//iterate through each textboxes and add keyup
//handler to trigger sum event
$(".donation").each(function() {
$(this).keyup(function(){
calculateSum();
});
});
});
function calculateSum() {
var sum = 0;
//iterate through each textboxes and add the values
$(".donation").each(function() {
//add only if the value is number
if(!isNaN(this.value) && this.value.length!=0) {
sum += parseFloat(this.value);
}
});
//.toFixed() method will roundoff the final sum to 2 decimal places
$("#total").html(sum.toFixed(2).replace(/(^\d{1,3}|\d{3})(?=(?:\d{3})+(?:$|\.))/g, '$1,'));
}
</script>
我还通过单击右侧的“ X”添加了删除“购物车”中项目/资金的选项。用于实现此目的的代码:
<a href="#" class="dr" title="Remove item"><span class="glyphicon glyphicon-remove-circle"></span></a>
<script>
$('.dr').click(function() {
$(this).parent().parent().fadeOut( 1000, function() {
$(this).remove();
});
});
</script>
您可以在这里看到它的工作:http://saulmarquez.com/test/cart-delete.html
问题:
如果我在文本框中输入一个值,然后从购物车中删除该项目(使用右侧的X按钮),则不会从购物车的总价中减去该值。我需要将其从总数中减去。
我真的不确定如何去做。我认为它必须是以下脚本的一部分:
<script>
$('.dr').click(function() {
$(this).parent().parent().fadeOut( 1000, function() {
$(this).remove();
});
});
</script>
我不太确定就像我说的那样,我是新手。在此先感谢您的帮助!
最佳答案
删除元素后,调用calculateSum函数
<script>
$('.dr').click(function() {
$(this).parent().parent().fadeOut( 1000, function() {
$(this).remove();
calculateSum();
});
});
</script>