将 gridview 模板字段文本框 id 传递给 javascript 函数
Posted
技术标签:
【中文标题】将 gridview 模板字段文本框 id 传递给 javascript 函数【英文标题】:Pass gridview template field text box id to a javascript function 【发布时间】: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 函数
【问题讨论】:
【参考方案1】:这样的东西可能有效(未经测试)。
下一行,去掉#号。
<a href="#" id="lnkView" onclick="GetResults('<%= txtInput.ClientID %>')">
然后你的javascript:
function GetResults(id)
var ctrlId = "[id$=" + id + "]"
var inputVal = $(ctrlId).val()
// do work
【讨论】:
以上是关于将 gridview 模板字段文本框 id 传递给 javascript 函数的主要内容,如果未能解决你的问题,请参考以下文章
如何绑定在父 Gridview 控件的模板字段内使用的子 Gridview 控件?
如何使用 EJS 模板引擎将变量传递给内联 javascript?