使用jQuery添加和减去值

时间:2015-06-05 21:48:51

标签: javascript jquery html checkbox

需要帮助以下jQuery代码;

我想做的是;

  1. 将金额添加到总计
  2. 添加金额时Checkbox值获取双倍
  3. 如果复选框状态更改,则复选框更新值减去或相应地添加到总计
  4. 如果金额减去总计,复选框值将更改回原始
  5. 如果复选框状态更改,则复选框更新值减去或相应地添加到总计
  6. 以下是jQuery代码

    $('#Addcar').on('click', function() {
    if($(this).html()=='Add') {
        $(this).html('Remove');
        var tot = parseFloat($('#TotalAmount').val()) + parseFloat($('#QuoteAmount').val());
        var totcan = parseFloat($('#Cancelation').val()) + 2;
        $('#TotalPrice').val(tot);
        $('#Cancelation').val(totcan);
    } else {
        $(this).html('Add');
        var tot = parseFloat($('#TotalPrice').val()) - parseFloat($('#QuoteAmount').val());
        var totcan = parseFloat($('#Cancelation').val()) - 2;
        $('#TotalPrice').val(tot);
        $('#Cancelation').val(totcan);
    }
    });
    
    $('#Cancelation').change(function(){
    if($(this).is(':checked')){
        total = parseFloat($('#TotalPrice').val()) + Number($(this).val());
    } else {
        total = parseFloat($('#TotalPrice').val()) - Number($(this).val());
    }
    $('#TotalPrice').val(total);
    });
    

    这是更好地解释的小提琴;

    更新小提琴:
    http://jsfiddle.net/55n8acus/7/

    如果添加了QuoteAmount值并从Total中删除了复选框值,然后删除QuoteAmount值,则结果值将是错误的,它应该是52而不是48,原因复选框不会更新,它仍然会从Total中删除4它应该删除2。

    感谢所有帮助

    问候。

1 个答案:

答案 0 :(得分:1)

我从这个问题中可以理解的是,您想要从总价格中减去该值,但是当您点击时,您偶然会使用 #TotalValue 而不是 #TotalPrice 在复选框上,将代码更改为此,它将按预期工作。

$('#Cancelation').change(function(){
if($(this).is(':checked')){
    total = parseFloat($('#TotalPrice').val()) + Number($(this).val());
} else {
    total = parseFloat($('#TotalPrice').val()) - Number($(this).val());
}
$('#TotalPrice').val(total);
});

这里是更新的js小提琴: - jsfiddle.net/55n8acus/8

欢呼声