4

GridViewRowセル内にLabelコントロールがあり、Javascriptを使用してクライアント側からアクセスする必要があります。GridView行に正常にアクセスできますが、その中のラベルにアクセスする方法を一生理解することはできません。

レイアウト:

<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].?????
}

さまざまなことを試しました?????が、Labelコントロールにアクセスして読み取ることができません。

何かアイデアはありますか?

4

2 に答える 2

3

このコードを試してください

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

これにより、cell[0]の最初のラベルテキストが表示されます。ラベル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);
}
于 2013-02-08T15:59:47.780 に答える
1

これを試して

var label =gridview.rows[i].cells[0].getElementsByTagName("span")
于 2013-02-08T15:42:36.120 に答える