0

我有一个基本价格为 249.99 美元的结帐表格。用户可以选择以 99.99 美元的价格添加一张桌子和/或椅子。截至目前,价格发生了变化,但取消了基础价格而不是增加了基础价格。取消选择后,它实际上减去了基本价格,总共剩下 0 美元。

$(':checkbox').change(function(){
    var sum = 0;
    var names = $(':checked').map(function(){
        sum += (this.value - 0);
        return this.name;
    }).get().join(',');
    var spans = $('span.amount');
    spans[1].innerHTML = sum;
});

我在这里做了一个小提琴来说明我的意思。那么我如何让基本价格保持在 249.99 美元并进行正确的数学计算呢?非常感谢您提前提供的帮助。

4

3 回答 3

6

为什么sum = 0?在给定的示例中不应该是 249.99 吗?

看看这个:

http://jsfiddle.net/XSCZ3/7/

于 2013-04-12T16:28:16.383 回答
1

2个问题。

将总和更改为初始化为 249.99。

最后一行应该更改显示总和的 2 行代码。 http://jsfiddle.net/XSCZ3/12/

你为什么只改变按钮价格。您应该更改小提琴顶部的按钮价格和最终价格标题。

$(':checkbox').change(function(){
    var sum = 249.99;
    var names = $(':checked').map(function(){
        sum += (this.value - 0);
        return this.name;
    }).get().join(',');
    //var spans = $('span.amount'); No need for this
    //spans[1].innerHTML = sum;  No need for this
    $('span.amount').text(sum); //Change to this.
});
于 2013-04-12T16:32:13.443 回答
1

只需初始化您的sum变量,如:var sum = 249.99;

演示:http: //jsfiddle.net/darkajax/vANz4/

于 2013-04-12T16:29:00.403 回答