JS如何得到Repeater控件里面input控件的ID

JS如何得到Repeater控件里面input控件的ID,第1张

你要想获得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啊。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9509597.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存