admin管理员组

文章数量:1402195

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?

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?

Share Improve this question asked Feb 8, 2013 at 15:17 BenBen 531 silver badge5 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 3

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);
}

Try this

var label =gridview.rows[i].cells[0].getElementsByTagName("span")

本文标签: cAccessing a Label control within a GridViewRow with JavascriptStack Overflow