【问题标题】:Pass gridview template field text box id to a javascript function将 gridview 模板字段文本框 id 传递给 javascript 函数
【发布时间】:2018-05-22 21:08:51
【问题描述】:

我的网页中有一个 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 函数

【问题讨论】:

    标签: javascript c# jquery asp.net gridview


    【解决方案1】:

    这样的东西可能有效(未经测试)。

    下一行,去掉#号。

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

    然后你的javascript:

    function GetResults(id) {
    
    var ctrlId = "[id$=" + id + "]"
    var inputVal = $(ctrlId).val()
    
    // do work
    
    }
    

    【讨论】:

      猜你喜欢
      • 2010-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      • 2021-02-24
      • 1970-01-01
      • 2013-11-17
      相关资源
      最近更新 更多