删除jQuery所做的更改

时间:2016-01-14 22:19:20

标签: jquery

我制作了选择付款方式的单选按钮,当选择Cash时,隐藏Tip字段,并从Total中移除金额。

jQuery的:

  $(':radio[id=Cash]').change(function() {
    $("#tip-area").addClass("hidden");
    $('#order-total').html(parseFloat($('#order-total').html() - $('#tip').val()).toFixed(2));
  });

  $(':radio[id!=Cash]').change(function(){
    $("#tip-area").removeClass("hidden");
    $('#order-total').html(parseFloat($('#order-total').html()) + parseFloat($('#tip').val()));
  });

所以这可以按预期工作,除非一个人在两个部分之间来回切换。

实施删除原始更改的最佳方法是什么。

实施例: 客户选择Cash - > Tip字段已移除并从Total中扣除。 然后,客户选择不同的付款方式 - > Tip字段未隐藏,原始数学已恢复为原始状态,显示总数和通用提示金额/百分比

2 个答案:

答案 0 :(得分:0)

将总数存储在变量中。

function num(i){
    switch(i){
    case 1:
       console.log("one");
       break;  // break out of the switch

    case 2:
       console.log("two");
       // no point having a break here as it is at the end anyways
    }
    // break moves execution to here
}
num(1); // outputs "one"

答案 1 :(得分:0)

您应该通过不依赖于从HTML获取的值并在脚本中设置自己的变量来实现此目的。

示例:

var total = 100;

$(':radio[id=Cash]').change(function() {
    $("#tip-area").addClass("hidden");
    var total = $('#order-total').val();
    var tip = $('#tip').val();
    var newTotal = total - tip;
    $('#order-total').html(newTotal.toFixed(2));
});

$(':radio[id!=Cash]').change(function(){
    $("#tip-area").removeClass("hidden");
    $('#order-total').html(total.toFixed(2));
  });