如何在javascript中获取放置在中继器内的特定标签的文本

How to get text of a particular lable placed inside a repeater in javascript

本文关键字:标签 文本 中继器 javascript 获取      更新时间:2023-12-29

我有一个中继器和中继器内的一个标签,它与一个有5行的表绑定,每行都有绑定到标签控件的用户名。

<asp:Repeater ID="PostsRepeater" runat="server">
            <ItemTemplate>
                <asp:Label ID="lblUserName" runat="server" Text="<%#Eval("username") %>"></asp:Label>
                <asp:TextBox ID="txtUser" runat="server"></asp:TextBox>
            <input id="btnGetUser" type="button" value="Get" />
            </ItemTemplate>
        </asp:Repeater>

我想在单击按钮时使用javascript 获得文本框中有一些值的用户的名称

<asp:Label..>软件呈现为html span标记。由于标签位于<asp:Repeater..>内部,它们将以以下方式命名:

Span id将动态生成为"repeater_id" + "_" + "ctl00" + "_" + label_id,因此在您的情况下,第一行中标签的id将为:"PostsRepeater_ctl00_lblUserName"您可以简单地检查元素并检查id。您可以在脚本中基于此id编写事件,也可以通过以下代码迭代所有标签:根据您需要将标签的cssClass指定为rptLabels 的条件

var elemArray = document.getElementsByClassName('rptLabels');
for(var i = 0; i < elemArray.length; i++){
    var elem = elemArray[i]; // this will be your label
   alert(elem.innerText); 
}

示例