0

数量選択ドロップダウンと今すぐ購入ボタンのあるフォームがあります。

<a href="#" rel="nofollow" data-product_id="75" data-product_sku="75" data-popup_id="popup_content_75" data-quantity="5" class="add_to_cart_button_popup button alt">Buy Now</a>
<div class="quantity buttons_added">
<input type="button" value="-" class="minus">
<input type="number" step="1" name="quantity" value="1" title="Qty" class="input-text qty text">
<input type="button" value="+" class="plus"></div> 

ユーザーが数量 5 を選択して [今すぐ購入] ボタンをクリックすると、次のようなメッセージが表示されます。

{product title} 5X has been added to your order

正しく動作しています。しかし、ユーザーが別の数量 (たとえば 7 ) を選択して今すぐ購入をクリックすると、次のようなメッセージが表示されるはずです

{product title} 7X has been added to your order

しかし、それでも同じ{product title} 5X has been added to your orderメッセージが表示されます。

誰かが何が悪いのか教えてもらえますか。

これは私のjQueryコードです。

 var quantity = $(this).data("quantity");
 $('span.itemcount').replaceWith(""+ quantity +" X");
4

3 に答える 3

0

$(this).data("数量")

アンカーからデータを取得します

タグは常に 5 になります。値を取得する必要があります。

<input type="number" step="1" name="quantity" ... />

次のようにしてそれを行うことができます

$(".input-text").value

指定されたリンクからアンカーコードを更新するコードは次のとおりです

// JavaScript source code
jQuery(document).ready(function (e) {
    e(document).on("click", ".plus, .minus", function () {
        var t = e(this).closest(".quantity").find(".qty"),
            n = parseFloat(t.val()),
            r = parseFloat(t.attr("max")),
            i = parseFloat(t.attr("min")),
            s = t.attr("step");
        if (!n || n == "" || n == "NaN") n = 0;
        if (r == "" || r == "NaN") r = "";
        if (i == "" || i == "NaN") i = 0;
        if (s == "any" || s == "" || s == undefined || parseFloat(s) == "NaN") s = 1;
        e(this).is(".plus")
            ? r && (r == n || n > r) ? t.val(r) : t.val(n + parseFloat(s))
            : i && (i == n || n < i) ? t.val(i) : n > 0 && t.val(n - parseFloat(s));
        t.trigger("change");

    });
});
于 2013-06-11T06:21:08.710 に答える
0

それを私が直した。のように使用すると機能します

 var quantityid = $(this).attr('id');
 var quantity = $("#" + quantityid + "").attr("data-quantity");
 $('span.itemcount').replaceWith(""+ quantity +" X");
于 2013-06-11T06:54:57.747 に答える