将gridview模板字段文本框ID传递给javascript函数

时间:2017-12-08 15:33:12

标签: javascript c# jquery asp.net gridview

我的网页上有一个ASP GridView。

我有两个模板字段1个文本框和1个超链接。

如果我单击该特定行上的超链接,我需要在gridview的特定行中传递相应的文本框ID。

<asp:TemplateField HeaderText="Input">
    <ItemTemplate>
        <asp:TextBox ID="txtInput" Text='<%# Eval("Input") %>' Width="200px" Height="70px" runat="server" TextMode="MultiLine"></asp:TextBox>
    </ItemTemplate>
    <ItemStyle Width="20px" Height="30px" BorderStyle="Solid" Font-Size="12px" HorizontalAlign="Left"
    VerticalAlign="Middle" />
</asp:TemplateField>

<asp:TemplateField HeaderText="Verify">
    <ItemTemplate>
        <a href="#" id="lnkView" onclick="GetResults('#<%= txtInput.ClientID %>')">
        <%#Eval("Verify")%>
        </a>
    </ItemTemplate>
    <ItemStyle Width="203px" Height="15px" BorderStyle="Solid" BorderWidth="1px" Font-Size="12px" HorizontalAlign="Left"
    VerticalAlign="Middle" />
</asp:TemplateField>

我尝试了以下代码但由于名称'txtInput'在当前上下文中不存在而收到错误。

Javascript功能

function GetResults(id) {

//My code using this textbox id

}

请点击超链接

,帮助您了解如何将文本框ID传递给javascript函数

1 个答案:

答案 0 :(得分:0)

这样的事情可能有用(未经测试)。

以下行,删除#符号。

<a href="#" id="lnkView" onclick="GetResults('<%= txtInput.ClientID %>')">

然后你的javascript:

function GetResults(id) {

var ctrlId = "[id$=" + id + "]"
var inputVal = $(ctrlId).val()

// do work

}