
你要想获得Repeater里服务器控件(runat="server")的值 必须先知道Repeater里服务器控件ID的命名方式 如果你的页面里的数据只是只读数据可以采用“pwroselove”提供的方法 去掉runat="server" 自己为控件的ID命名 如果你需要和后台交互 就可以用下面的方法
首先Repeater里服务器控件ID的命名方式是 RepeaterClientID_ctl行号_控件名 行号是从00开始的两位数00 01 02 如 Repeater1_ctl00_lblBegin 表示Repeater里第一行lblBegin的ID 给你写个例子你就明白了 代码如下
<%@ Page Language="C#" %>
<%@ Import Namespace="SystemData" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Transitional//EN" ">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
using (DataTable dataTable = new DataTable())
{
dataTableColumnsAddRange(new DataColumn[] { new DataColumn("Begin"), new DataColumn("Deadline") });
dataTableRowsAdd(new object[] { "123", "A" });
dataTableRowsAdd(new object[] { "234", "B" });
dataTableRowsAdd(new object[] { "345", "C" });
Repeater1DataSource = dataTable;
Repeater1DataBind();
}
}
</script>
<html xmlns=">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<input id="lblBegin" runat="server" value='<%# Eval("Begin")%>' type="text" />
<input id="lblDeadline" runat="server" value='<%# Eval("Deadline")%>' type="text" />
<br />
<br />
</ItemTemplate>
</asp:Repeater>
</div>
<script type="text/javascript">
var repeaterId = '<%=Repeater1ClientID %>';//Repeater的客户端ID
var rows = <%=Repeater1ItemsCount%>;//Repeater的行数
for (var i = 0; i < rows; i++) {
alert(documentgetElementById(repeaterId + "_ctl" + getrownumber(i) + "_lblBegin")value);
alert(documentgetElementById(repeaterId + "_ctl" + getrownumber(i) + "_lblDeadline")value);
}
function getrownumber(i) {
if (i > 10) {
return i;
}
else {
return '0' + i;
}
}
</script>
</form>
</body>
</html>
var item = documentgetElementsByTagName("font");
for(var i=0;i<itemlength;i++){//i应该从0开始,并且少于itemlength
if(item[i]id&&item[i]id==answerid+"fid"){
item[i]stylecolor="red";
}
else if(item[i]id&&item[i]idindexOf("fid")>0){
item[i]stylecolor="white";
}
}
用this,this表示当前对象,你直接获取当前对象的ID,Value,和name 就行了,不需要事先知道控件的ID或者name,下面的例子alert出来了控件的三个属性:
<input id="txt" type="text" value="我们请为您返回数据。" onClick="javascript:alert(thisID+'--'+thisvalue+'--'+thisname)" />
<%=picClientID%> => <%= picClientID %>
加上空格试一试,我的这样写是可以认出来的。比如以下的代码
<%= RoleIdClientID %>setDisabled(!recdataIsOperator);
net的控件名在编译时会被按一定规则改成其它名的,直接用js是得不到的。要在控件中加上 ClientIDMode="Static",指定客户端id显示方式为固定的才可以。
<asp:TextBox runat="server" ID="ceshi" ClientIDMode="Static"></asp:TextBox>
documentgetElementById('ceshi')
以上就是关于JS如何得到Repeater控件里面input控件的ID全部的内容,包括:JS如何得到Repeater控件里面input控件的ID、js 获取html 控件id的问题 急 谢谢大家帮忙、javascript怎样取得引发事件的控件的ID,value,name啊。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)