我正在尝试在 javascript 上获取 txtQuantity 的值:
<asp:gridview ID="gvPOAdd" runat="server" ShowFooter="true" AutoGenerateColumns="false" OnRowDeleting="gvPOAdd_RowDeleting">
<Columns>
<asp:TemplateField HeaderText="Quantity">
<ItemTemplate>
<asp:TextBox ID="txtQuantity" runat="server" Text='<%#Eval("Quantity") %>' CausesValidation="false" Enabled='<%# ((Session["isNewPurchaseOrder"] != null) && ((bool)Session["isNewPurchaseOrder"] == true )) ? false : true %>'></asp:TextBox>
<br />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Unit Cost">
<ItemTemplate>
<asp:TextBox ID="txtUnitCost" runat="server" CausesValidation="false" onkeyup="calculateTotalCharge(this,'<%= txtQuantity.clientid %>');" ></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Total Cost">
<ItemTemplate>
<div style="text-align:right;">
<asp:Label ID="lblTotalCost" runat="server"></asp:Label>
</div>
</ItemTemplate>
附: onkeyup="calculateTotalCharge(this,'<%= txtQuantity.clientid %>');
我正在使用以下脚本:
<script language="javascript" type="text/javascript">
function calculateTotalCharge(unitcost,quantity) {
alert(unitcost.value);
alert(quantity.value);
}
//但我收到错误数量为空?!
如何在asp:gridview上访问同一行上的其他文本框
最佳答案
如果您对 Jquery 感到满意,请更改 onkeyup
对此onkeyup="calculateTotalCharge(this);"
function calculateTotalCharge(obj)
{
var vUnitCost = $(obj).val();
var vQuantity = $(obj).parent().prev().find('input[type=text]').val();
//alert('UnitCost: '+ vUnitCost + 'Quantity: ' + vQuantity);
}
Description:
-
$(obj).parent()
基本上会返回你的父对象<tr>
- 然后
.prev()
将返回您之前的<tr>
对象。 - 在其中您可以找到并获取文本框值
.find('input[type=text]').val()
在同一行内。
关于javascript - 如何在asp :gridview using javascript上访问同一行上的其他文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34265479/