ASP.NET在Javascript中获取Gridview标签文本

时间:2013-04-08 08:20:02

标签: asp.net gridview

我的网格中有多个行数小时。我有一个相同lblFromTime的共同标签 我需要从javascript中获取每行中绑定的标签文本 有人可以给我一个解决方案吗?

我尝试了以下代码,但它没有返回文本。

var gvRowCount = ('<%= gvTimeSlots.Rows.Count%>');
for (i = 0; i <= gvRowCount; i++) 
{
    var fromTime = document.getElementById('ContentHead_MainContent_gvTimeSlots_lblFromTime_i');
    alert(fromTime.value);
}

1 个答案:

答案 0 :(得分:0)

我尝试了这样的样本

ASPX代码

<asp:GridView ID="gv" runat="server" AutoGenerateColumns="false">
    <Columns>
        <asp:TemplateField HeaderText="check">
            <ItemTemplate>
                <asp:Label ID="lbl" runat="server" Text='<%#Eval("iso") %>'></asp:Label>
            </ItemTemplate>
        </asp:TemplateField>
   </Columns>

Gridview生成了以下HTML -

<table cellspacing="0" rules="all" border="1" id="gv" style="border-collapse:collapse;">
    <tr>
        <th scope="col">check</th>
    </tr>
    <tr>
        <td>
            <span id="gv_ctl02_lbl">ab</span>
        </td>
    </tr>
    <tr>
        <td>
            <span id="gv_ctl03_lbl">ab</span>
        </td>
    </tr>
    <tr>
        <td>
            <span id="gv_ctl04_lbl">ab</span>
        </td>
    </tr>
</table>

正如您可以看到的那样,span id从2开始。

所以我尝试了以下javascript

for(i=2;i<5;i++) console.log(document.getElementById('gv_ctl0'+i+'_lbl').innerHTML);

,结果是

ab
ab
ab

我在chrome和firefox(firebug)中尝试过。两者都很好。