0

グリッドに何時間も複数の行があります。同じ の共通ラベルがあり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);
}
4

1 に答える 1

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>

生成された次のGridviewHTML -

<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>

私の場合を見るとわかるように、スパン ID は 2 から始まります。

だから私は次のJavaScriptを試しました

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

そして結果は

ab
ab
ab

chromeとfirefox(firebug)で試してみました。どちらも正常に動作しています。

于 2013-04-08T09:46:41.007 に答える