javascript - 如何在asp :gridview using javascript上访问同一行上的其他文本框

标签 javascript c# asp.net gridview

我正在尝试在 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:

  1. $(obj).parent()基本上会返回你的父对象 <tr>
  2. 然后.prev()将返回您之前的<tr>对象。
  3. 在其中您可以找到并获取文本框值 .find('input[type=text]').val()在同一行内。

关于javascript - 如何在asp :gridview using javascript上访问同一行上的其他文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34265479/

相关文章:

c# - 如何在 Selenium Webdriver 中处理 shadow dom

javascript - 实例共享原型(prototype)方法以与私有(private)实例变量一起使用

c# - 如何有效地写入长度前缀二进制数据

c# - OnRelease 期间的异常是否会导致组件无法正确处置?

c# - ViewModel 替换复杂的匿名对象

asp.net - Gridview 显示编辑按钮

c# - 迭代 T4 脚手架中的 [ComplexType] 属性?

javascript - 重新定义属于另一个函数的函数

javascript - 不使用 CamelCasing 获取数据属性值

javascript - 如何扩展Vue Storefront核心模块