Jquery计算

时间:2012-11-14 00:39:13

标签: javascript jquery jquery-ui

我从小提琴那里运行一个类似的脚本到这个脚本 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();});

});

非常感谢任何帮助

2 个答案:

答案 0 :(得分: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);

<强> Check Fiddle

答案 1 :(得分:0)

您可以通过执行一些简单的操作来保存一些DOM搜索和文本解析,例如将单价作为数据属性添加到行并使用jQuery data()方法

检索它

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);

});

DEMO:http://jsfiddle.net/Jk976/3/