0

在我的购物车页面中,产品在我的 div 框中显示如下:

产品被生成并显示在用户添加的购物车中。

购物车页面可以包含任意数量的产品。

当用户在文本框中键入一个数字,然后单击更新按钮时,该数字应乘以从 中获取的价格,<p class="price2"></p>并将其替换为 中的新总金额<p class="price2"></p>

假设用户在文本框中键入“3”,然后按下按钮。那么它应该是 "3 * 699 = 2097"并且2097应该替换它,699所以它说“ total: 2097"

我很难理解的是,这应该发生在特定的产品 div 框上,因此其他产品不受影响。我的意思是我不能使用 class 或 id 从 a 获取文本<p>,我需要使用 parent?因为每个产品都有一个<p class="price2">,我不想改变所有的产品价格。

如果有人可以帮助我,我将不胜感激

这是我的jsfiddle

这里还有另一个 jquery,我在同一个更新按钮上使用它来获取所有价格并总结它们。

<script type="text/javascript">
    $(document).ready(function () {
        $('.update').click(function () {
            var total = 0;
            $("span.price2").each(function (i) {
                total += parseFloat($(this).text(), 10);
            });

            $("#total2").html(total);
        });
    });
</script>
4

2 回答 2

1

您可以使用 keypress 事件,看起来比必须单击更漂亮。

<span class="section">
  <p class="price">699.50</p>
  <input class="qtty" type="text">
  <span class="result">699.50</span>
</span>

<span class="section">
  <span class="price">1234</span>
  <input class="qtty" type="text">
  <span class="result">1234</span>
</span>

​</p>

$('.qtty').keypress(function() {
  price = $(this).parent().find('.price').html()
  qtty = $(this).parent().find('.qtty').val()
  result = price * qtty
  $(this).parent().find('.result').html(result)
});​

只是一个建议。编辑: http: //jsfiddle.net/qU7ZG/更好。

于 2012-11-01T00:12:37.380 回答
0

使用 jQuery 选择器的 context 参数来查找特定 DIV 中的类成员:

var total = 0;
$(".produktinfo2").each(function () {
    var that = $(this);
    var subtotal = parseFloat($(".quantity", that).text()) * parseFloat($(".price", that).text());
    $(".price2", that).text(subtotal);
    total += subtotal;
});
$("#total2").text(total);
于 2012-11-01T00:01:44.000 回答