0
嗨,在JavaScript代码中,乘法在txtQuantity
之间,这是在网格视图中的文本框TemplateField和网格视图中的BoundField的价格。使用jquery在gridview中计算行总数和总计
我的问题是我的网格视图已经txtQuantity和txtPrice既是TemplateFieldes
<ItemTemplate><asp:TextBox ID="txtprice" runat="server" Text='<%# Bind("Price") %>'></asp:TextBox></ItemTemplate>
<ItemTemplate><asp:TextBox ID="txtQuantity" runat="server"></asp:TextBox></ItemTemplate>
我试图修改Java脚本代码
$("[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>
得益于它完美地工作,但我为我设置文本框的TextMode = “数”它显示上下箭头来增加或减少数字的JS代码工作只有当我键入数字它可能使js代码工作与两种方法?谢谢 – user5109118
将'keyup'事件改为'keyup mouseup'。看到我更新的答案。 –
谢谢你,先生,它的工作 – user5109118