2012-02-03 148 views
0

我有一个文本框和2个标签,其中一个标签是'价格',另一个是'总价格',它们位于gridview中的一列中。javascript来计算总价格?

gridview绑定到一个名为Product的数据库表,基本上它会显示一个产品列表,我需要javascript来计算总价格,通过考虑价格*数量。

我试过下面的代码,但是当我在文本框中输入一个值时,总价格变化的标签,但它会影响每一行,这不是我想要的。我应该如何改变它?

$("[id*=txtQuantity]").live("change", function() { 
       if (isNaN(parseInt($(this).val()))) { 
        $(this).val('0'); 
       } else { 
        $(this).val(parseInt($(this).val()).toString()); 
       } 
      }).trigger("change"); 

      $("[id*=txtQuantity]").live("keyup", function() { 
       if (!jQuery.trim($(this).val()) == '') { 
        if (!isNaN(parseFloat($(this).val()))) { 
         var row = $(this).closest("table"); 
         $("[id*=lblTotalCost]", row).html(parseFloat($("[id*=price]", row).html()) * parseFloat($(this).val())); 
        } 
       } else { 
        $(this).val(''); 
       } 

      }).trigger("keyup"); 

回答

0

没有看到这很难说清楚,但如果你说这改变了价格还算可以,但只是影响了太多的行标记,我会看看选择你在这里使用:

var row = $(this).closest("table"); 
$("[id*=lblTotalCost]", row).html(parseFloat($("[id*=price]", row).html()) * parseFloat($(this).val())); 

row变量是整个表,然后你发现任何东西,其中ID包含lblTotalCost,它看起来像这样将返回所有在表中的总成本领域,同时设置它们。

同样没有看到它很难劝的标记,但可能尝试改变:

$(this).closest("table"); 

到:

$(this).closest("tr"); 

后限制码的范围。

+0

谢谢旁边,你可以帮我看看这个链接http://stackoverflow.com/questions/9125460/urgent-help-need-trouble-save-the-image-uploadc 我无法解决它,它是迫切为了我 – actKing 2012-02-03 11:28:30