我有一个嵌套网格视图\documentclass{article}
\usepackage[]{imakeidx}
\makeindex
\begin{document}
<<>>=
y <- log(sqrt(1:10))
@
\printindex
\end{document}
用于在嵌套网格视图中显示和隐藏div标记。
默认情况下,当我们点击a link
时,Div Tag
被禁用在此a link
下显示(启用)Div
标记,它们是一个Div Tag
和一个TextBox
。
当用户点击Button
div时,我想在此文本框中添加a link
例如
@username
我正在使用的JQuery
<asp:GridView ID="GridParent" runat="server">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<table>
<tr>
<td>
-----------
-----------
</td>
<td>
<asp:GridView ID="GridChild" runat="server">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<a href='#' onclick='showDiv(); return false;'>ShowDiv</a>
<div id='divShow'>
<asp:Textbox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" onclick=showText(); return false; />
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
以上jquery代码用于启用Div标签,但未将function showDiv() {
$("#divShow").show();
$("#TextBox1").text('@username');
return false;
}
添加到@username
答案 0 :(得分:0)
我对ASP知之甚少,但是如果这样在网页中呈现类似于<input type='text' />
的文本框那么你想要使用$(“#TextBox1”)。val('@ username')而不是比.text()
答案 1 :(得分:0)
解决方案与我给你previous question的解决方案非常相似。您可以在调用showDiv
(使用this
关键字)中传递对锚标记的引用,并设置div的类名称(例如innerDiv
):
<a href='#' onclick='showDiv(this); return false;'>ShowDiv</a>
<div id='divShow' class='innerDiv'>
showDiv
可以找到表格单元格容器,然后是innerDiv
类名称和文本框的元素。
function showDiv(lnk) {
var $div = $(lnk).closest('td').find('.innerDiv');
$div.show();
$div.find('input[type=text]').val('@username');
}
请注意,我在jQuery选择器中使用类名和元素类型。元素的ID不可靠,因为GridView的每一行都显示这些控件,这些控件都应具有不同的ID。
答案 2 :(得分:0)
您的代码存在两个问题。
首先,ASP.NET为服务器控件生成复杂的ID(类似于blabla_gridparent_gridchild_textbox1_blabla
,而不是简单的textbox1
),因此如果您想在客户端使用控件,则必须询问通过服务器控件的ClientID
属性获取该ID的ASP.NET:
function showDiv() {
$("#divShow").show();
$("#<%= TextBox1.ClientID %>").val('@username');
return false;
}
注意,这是服务器代码。我假设这个JS代码放在.aspx
页面(或.ascx
控件)中,而不是静态.js
文件中。如果是静态.js
文件,则需要将该ID作为参数传递。