Reputation: 53
I have a Label control within a GridViewRow cell, that I need to access from the client side using Javascript. I can access the GridView row fine, but I can't for the life of me work out how to access the Label within it.
Layout:
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="link_lbl" runat="server" Visible="false" Text='<%# BIND("link") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
Javascript:
var gridview = document.getElementById("<%= list_gv.ClientID %>");
for (i = 1; i < gridview.rows.length; i++) {
var label = gridview.rows[i].cells[0].?????
}
I've tried various things where the ?????
is, but can't get to the Label control to read from it!
Any ideas please?
Upvotes: 4
Views: 8980
Reputation: 724
Try this code
var gridview = document.getElementById("<%= list_gv.ClientID %>");
for (i = 1; i < gridview.rows.length; i++) {
var labels = gridview.rows[i].cells[0].getElementsByTagName("span");
alert(labels[0].innerHTML);
}
This will give you the first label text in cell[0]. You can also directly get by using label id.
var gridview = document.getElementById("<%= list_gv.ClientID %>");
for (i = 1; i < gridview.rows.length; i++) {
var RowNumber=(i+1).toString();
if (i<10)
RowNumber="0"+(i+1).toString();
var label = document.getElementById(gridview.id.toString()+"_ctl" + RowNumber + "_link_lbl");
alert(label.innerHTML);
}
Upvotes: 3
Reputation: 7438
Try this
var label =gridview.rows[i].cells[0].getElementsByTagName("span")
Upvotes: 1