我在 NET 上搜索了很多,想找到解决方案,但我找不到
谁能告诉我如何使用 javascript 访问中继器控件内部的标签和文本框值?
这是我的代码
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1">
<ItemTemplate>
<table id="t1" width="200px:" style="background-color: skyblue" runat="server">
<tr>
<td>
<asp:TextBox ID="TextBox3" Text='<%#DataBinder.Eval(Container.DataItem, "empid")%>'
runat="server" />
<asp:CheckBox ID="CheckBox1" runat="server" />
<asp:Label ID="Label1" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "empid")%>'></asp:Label>
<asp:Label ID="lblname" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "ename")%>'></asp:Label>
<br />
<br />
</td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
现在我想使用javascript访问中继器的标签、文本框
@狄俄斯
我试过你的代码
function submitAll() {
var thisLabel = $('.myLabel').eq(0);
alert(thisLabel);
}
但我得到的结果是 alert as
[对象对象]
和@deostroll
我这样试过你的代码
却一无所获
function GetData() {
var arrTables = document.getElementById('myDiv').getElementsByTagName('table');
var tbl = arrTables[0];
var td = tbl.childNodes[0].childNodes[0].childNodes[0];
var txt = td.childNodes[0];
alert(txt.value);
}
最佳答案
<asp:Label ID="Label1" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "empid")%>'></asp:Label>
ID 必须是唯一的,因此您不能将相同的 ID 应用于转发器中的所有标签。请改用 CSS 类名。
<asp:Label CssClass="myLabel" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "empid")%>'></asp:Label>
由于 jQuery 与 .NET 一起提供,您可以使用它而不是纯 JavaScript 来更轻松地访问这些元素。
var thisLabel = $('.myLabel').eq(0)
其中 0 是元素的索引,因为可以有很多个。
关于javascript - 使用 JavaScript 访问 Repeater 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8342583/