簡體   English   中英

如何在javascript中獲取gridview文本框控件ID?

[英]How to get the gridview textbox control ID in javascript?

我有ASP.NET Gridview和Textbox控件。 現在我想在java腳本中獲取Textbox ID。 我已經在堆棧溢出中提到了這個問題,但我無法得到確切的答案。

我的Gridview模板代碼是

<asp:TemplateField HeaderText="Amt Recieve Now" ControlStyle-Width="100">
   <ItemTemplate>
    <asp:TextBox ID="txtAmountReceiveNow" runat="server" CssClass="textboxRight"
        AutoPostBack="true" OnFocus= "GVtxtAmount()"
        OnTextChanged="txtAmountReceiveNow_TextChange" 
                Text='<%#Eval("AMOUNT_RECEIVE_NOW")%>'>
     </asp:TextBox>
   </ItemTemplate>
</asp:TemplateField>

和Javascript代碼如下:

 function GVtxtAmount() {
    var txtAmountReceive = document.getElementById(
                  '<%= ((GVMaintainReceiptMaster)Container)
                         .FindControl("txtAmountReceiveNow").ClientID %>');
    var selection = txtAmountReceive.value.indexOf(".");
    alert(selection);
 };

GVMaintainReceiptMaster是GridView的ID

幫助我克服這個問題。

嘗試這個

function GVtxtAmount() {
        var txtAmountReceive = $("input[id*=txtAmountReceiveNow]")
        var selection = txtAmountReceive.value.indexOf(".");
        alert(selection);
};

你不能以這種方式得到文本框。 這是解決方法我希望它會有所幫助。

function GVtxtAmount() {
        var GVMaintainReceiptMaster = document.getElementById('<%= GVMaintainReceiptMaster.ClientID %>');

        for (var rowId = 1; rowId < GVMaintainReceiptMaster.rows.length; rowId++) {
            var txtbx = GVMaintainReceiptMaster.rows[rowId].cells[0].children[0];
            alert(txtbx.value);
        }
        return false;
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM