使用 jquery 在网格视图中计算行总计和总计
Calculate Row Total and Grand Total in gridview using jquery
嗨,在
下面的JavaScript代码中,乘法在网格视图中的文本框模板字段txtQuantity
和网格视图中的BoundField价格之间。
问题是我的网格视图同时具有 txtQuantity 和 txtPrice 作为模板字段
<ItemTemplate><asp:TextBox ID="txtprice" runat="server" Text='<%# Bind("Price") %>'></asp:TextBox></ItemTemplate>
<ItemTemplate><asp:TextBox ID="txtQuantity" runat="server"></asp:TextBox></ItemTemplate>
我试图修改 JavaScript 代码
$("[id*=lblTotal]", row).html(parseFloat($("[id*=txtprice]", row).html()) * parseFloat($(this).val()));
但它给了我NaN
原始 js 代码
<script type="text/javascript">
$(function () {
$("[id*=txtQuantity]").val("0");
});
$("[id*=txtQuantity]").live("change", function () {
if (isNaN(parseInt($(this).val()))) {
$(this).val('0');
} else {
$(this).val(parseInt($(this).val()).toString());
}
});
$("[id*=txtQuantity]").live("keyup", function () {
if (!jQuery.trim($(this).val()) == '') {
if (!isNaN(parseFloat($(this).val()))) {
var row = $(this).closest("tr");
$("[id*=lblTotal]", row).html(parseFloat($(".price", row).html()) * parseFloat($(this).val()));
}
} else {
$(this).val('');
}
var grandTotal = 0;
$("[id*=lblTotal]").each(function () {
grandTotal = grandTotal + parseFloat($(this).html());
});
$("[id*=lblGrandTotal]").html(grandTotal.toString());
});
</script>
您的代码存在一些小问题,请尝试以下操作:
$(function () {
$("[id*=txtQuantity").val("0");
});
$(document).on("change", "[id*=txtQuantity]", function () {
if (isNaN(parseInt($(this).val()))) {
$(this).val('0');
} else {
$(this).val(parseInt($(this).val()).toString());
}
});
$(document).on("keyup mouseup", "[id*=txtQuantity]", function () {
if (!jQuery.trim($(this).val()) == '') {
if (!isNaN(parseFloat($(this).val()))) {
var row = $(this).closest("tr");
$("[id*=lblTotal]", row).html(parseFloat($("[id*=txtPrice]", row).val()) * parseFloat($(this).val()));
}
} else {
$(this).val('');
}
var grandTotal = 0;
$("[id*=lblTotal]").each(function () {
var value = $(this).html();
if(value != "")
grandTotal = grandTotal + parseFloat(value);
});
$("[id*=lblGrandTotal]").html(grandTotal.toString());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table cellspacing="5">
<tr>
<td><input type="text" id="txtPrice1" value="100" /></td>
<td><input type="text" id="txtQuantity1" value="1" /></td>
<td><div id="lblTotal1" /></td>
</tr>
<tr>
<td><input type="text" id="txtPrice2" value="200" /></td>
<td><input type="text" id="txtQuantity2" value="2" /></td>
<td><div id="lblTotal1" /></td>
</tr>
<tr>
<td><input type="text" id="txtPrice3" value="300" /></td>
<td><input type="text" id="txtQuantity3" value="3" /></td>
<td><div id="lblTotal1" /></td>
</tr>
</table>
<div id="lblGrandTotal" />
相关文章:
- 使用jQuery计算数组中的对象以更改进度条
- 如何在jquery中使用实时计算求和值
- 通过javascript/jquery从html表中获取值并进行计算
- 如果同一页面上有多个元素使用相同的ID,jQuery将计算价格
- 在jquery和javascript中计算税款
- 计算content中的数字总和使用Jquery可编辑文本
- Jquery日期计算JQUERY4U
- 计算 jQuery 中字符串中的特殊字符
- 计算jquery用户界面的拖放
- 计算 jQuery 的 API 使用情况.如何使用我的jQuery
- 如何计算 jQuery 中的剩余时间
- 如何计算jQuery中每个循环的总时间
- 计算 Jquery 中的元素数量
- 计算 jQuery text().Length of Visible 元素而不删除隐藏元素
- 在嵌套在 for 循环 (JavaScript/jQuery) 中的 switch 语句中计算 jQuery 数组的元素
- 在 HTML 中执行动态表计算 - jQuery
- 起始点的时间表计算JQuery/Ajax/其他
- AngularJS如何计算jQuery动态添加的字段?
- 如何重写这个计算?JQuery
- 计算jQuery中选定元素的数量