javascript - 单击元素时从变量中减去?

标签 javascript jquery

情况: 嘿大家,我在这里完全不知所措。我是 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>

关于javascript - 单击元素时从变量中减去?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25813442/

相关文章:

javascript - 使用 jquery 导入某些库会卡住整个 xpage

JavaScript 动画问题(肥猫跳舞)

javascript - Salesforce-使用 jQuery 使用复选框删除表行

Javascript 正则表达式 - 将 { 替换为空

javascript - 禁用输入以便将它们排除在 POST 之外?

javascript - 如何在 FullCalendar 中设置当天的颜色?

javascript - 用字符串和字符串数组动态填充json对象

javascript - 如何在聚合物元素中使用来自 Dart 的 javascript

javascript - 如何为图像创建随机大小的平铺照片库?

jquery - phantomjs 在一台机器上工作,但在另一台机器上找不到 jquery?