我的网格中有多个行数小时。我有一个相同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);
}
答案 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)中尝试过。两者都很好。