0

フィドルhttp://jsfiddle.net/QmTNZ/2/からこのスクリプトと同様のスクリプトを実行しています

テーブルで動作するように変更しようとしました。

商品ページの表へのリンクはこちら

http://styleso1.nextmp.net/dev/shop/safari-pu-sleeve-jacket.html

数量 (入力ボックス、列 4) X 単価 (列 5) を計算し、合計を列 6 に表示するために必要です。

これを行うには、JSをどのように変更しますか?

ここに私がJSのために持っているものがあります

$(function(){
function ca(){
    var $overall = 0;

    $("tr.sum").each(function() {

        var $qnt = $(this).find(".qty");
        var $price = $(this).find("td").eq(1);

        console.log($qnt + " | " + $price);

        var sum = parseFloat($price.text()) * parseFloat($qnt.val());

        $(this).find(".a-center1").text(sum);

        $overall += sum;

    });

    $("#total").text($overall);
}

$(function() {

    ca();
    $('input.qty').bind('change keyup',function(){ca();});

});

どんな助けでも大歓迎です

4

2 に答える 2

0

単価をデータ属性として行に追加し、jQuerydata()メソッドで取得するなどの簡単なことを行うことで、DOM 検索とテキスト解析を節約できます。

HTML

<tr class="sum" data-unit_price="10.00">

JS

function ca(){
    var $overall = 0;

    $("tr.sum").each(function() {
         var $row=$(this);
        var $qnt = $(this).find(".qty");
        var cost = $row.data('unit_price');       

        var sum = cost * parseFloat($qnt.val());

        $(this).find("td").eq(5).text('$' +sum);

        $overall += sum;

    });

    $("#total").text('$' +$overall);
}

$(function() {

    ca();
    $('input.qty').bind('change keyup', ca);

});

デモ: http://jsfiddle.net/Jk976/3/

于 2012-11-14T01:51:01.593 に答える
0

これを試して

  $("tr.sum").each(function() {

        var $qnt = $(this).find(".qty");
        var $price = $(this).find("td:eq(4)").find('.price');

        console.log($qnt + " | " + $price);
        var pri = $price.text();
            pri = pri.replace('$', '');
        var sum = parseFloat(pri) * parseFloat($qnt.val());

        $(this).find("td").eq(5).text('$' + sum);

        $overall += sum;

    });
    $("#total").text('$' +$overall);

フィドルをチェック

于 2012-11-14T00:44:36.940 に答える