需要帮助查找嵌套的Gridview及其中存在的控件,例如标签 使用jquery
我正在进行下面的计算是jquery代码。
$("#<%=gvSupplierList.ClientID %>").each(function () {
//hardcoded control id of parent gridview
$(this).find('span[id$="gvSupplierList_lblsizeofopt_0"]').text('0.01');
//hardcoded control id of child/nested gridview
$("#gvSupplierList_gvCustomerList_0 > tbody > tr").each(function () {
//hardcoded control id of child/nested control
$(this).find('input[id$="gvSupplierList_gvCustomerList_0_txtsizeofopt_0"]').val();
});
});
提前致谢。
答案 0 :(得分:0)
您需要使用FindControl向上导航控制树并在子GridView的行中找到正确的TextBox。
<asp:GridView ID="GridViewParent" runat="server" OnRowDataBound="GridView1_RowDataBound">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:GridView ID="GridViewChild" runat="server">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<script type="text/javascript">
$("#<%= ((GridView)GridViewParent.Rows[1].FindControl("GridViewChild")).Rows[2].FindControl("TextBox1").ClientID %>").val("TextBox is found!");
</script>
在此片段中,找到子项的父行和第2行中的TextBox,并设置文本。
或者如果你知道jQUewry中的两行,你也可以这样做
<script type="text/javascript">
var parentRow = 3;
var childRow = 5;
$('#<%= GridViewParent.ClientID %> table').each(function (index, element) {
if (index == parentRow) {
$('#' + element.id + ' input[type="text"]').each(function (indexNested, elementNested) {
if (indexNested == childRow) {
$(this).val("TextBox is found!")
}
});
}
});
</script>