获取gridview文本框值的总和,并显示使用javascript标签中的总数

问题描述:

我在我的应用程序中有一个网格视图,其中一些文本框作为模板字段,可以递增。当我在第一个文本框中输入一些值时,所有文本框都应显示在标签中。我试图使用下面的代码,但它没有奏效。获取gridview文本框值的总和,并显示使用javascript标签中的总数

的JavaScript

<script type="text/javascript"> 
    function calculate() { 
     var txtTotal = 0.00; 

     $(".calculate").each(function (index, value) { 
      var val = value.value; 
      val = val.replace(",", "."); 
      txtTotal = MathRound(parseFloat(txtTotal) + parseFloat(val)); 
     }); 

     document.getElementById("<%= lbltotal.ClientID %>").value = txtTotal.toFixed(2); 
    } 

    function MathRound(number) { 
     var result = Math.round(number * 100)/100; 
     return result; 
    } 
</script> 

的GridView

<asp:GridView ID="GridView1" runat="server" ShowFooter="true" AutoGenerateColumns="false"> 
    <Columns> 
     <asp:BoundField DataField="RowNumber" HeaderText="Row Number" /> 
     <asp:BoundField DataField="Description" HeaderText="Item Description" /> 
     <asp:TemplateField HeaderText="Amount"> 
      <ItemTemplate> 
       <asp:TextBox ID="txtamount" onkeyup="calculate();" CssClass="calculate" runat="server" Text=""></asp:TextBox> 
      </ItemTemplate> 

     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

标签

<asp:Label ID="lbltotal" runat="server" Text="" ForeColor="Green"></asp:Label> 
+0

只是在你的浏览器控制台检查任何JavaScript错误 –

+0

没有成立 – Ayman

+0

将警报在'calculate'方法错误。 –

使用此片段。它将一个keyup侦听器添加到GridView1中的每个TextBox。然后循环的所有文本框,并增加了价值,并把总在Label1

<script type="text/javascript"> 
    var total = 0; 

    $(document).ready(function() { 
     $('#<%= GridView1.ClientID %> input[type="text"]').keyup(function() { 
      $('#<%= GridView1.ClientID %> input[type="text"]').each(function() { 
       if ($(this).val() != "") { 
        total += parseFloat($(this).val()); 
       } 
      }); 
      document.getElementById("<%= Label1.ClientID %>").innerHTML = total.toFixed(2); 
     }); 
    }); 
</script>