js换得Repeater里面的控件Id---在线结贴

xuejiyong0619 2010-11-15 04:03:46
如题,要用javascript不要jquery。
<input id="lblBegin" runat="server" value="lblBegin" type="text" style="display:none;" text='<%# Eval("Begin")%>' />
<input id="lblDeadline" runat="server" value="lblDeadline" type="text" style="display:none;" text='<%# Eval("Deadline")%>' />
上面2个控件在Repeater里面,用Js如何获得ID
var SDeadline = document.getElementById("<%=lblDeadline.ClientID%>").value;这样不行
希望大鸟们帮帮忙,详细点.
...全文
289 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
HolyPlace 2010-11-16
  • 打赏
  • 举报
回复
//日期相减 获取天数
function DateDiff(sDate1, sDate2)
{
var aDate, oDate1, oDate2, iDays
aDate = sDate1.split("-")
oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]) //转换为12-18-2002格式
aDate = sDate2.split("-")
oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0])
iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 /24) //把相差的毫秒数转换为天数
return iDays
}

//===========================================================

// 时间相减

function getDateFromString(strDate) //时间函数
{
var arrYmd = strDate.split("-"); ;
var numYear = parseInt(arrYmd[0]);
var numMonth = parseInt(arrYmd[1]) - 1;
var numDay = parseInt(arrYmd[2]);
var numHours = parseInt(arrYmd[3]);
var numMinutes = parseInt(arrYmd[4]);
return new Date(numYear, numMonth, numDay, numHours, numMinutes);
}


var datFrom = getDateFromString("2007-1-5-05-7");
var datTo = getDateFromString("2007-1-6-04-17");
var nums = (datTo - datFrom) / (1000 * 60); //得分钟
var nums = (datTo - datFrom) / (1000 * 60 * 60); //得小时
var nums = (datTo - datFrom) / (1000 * 60 * 60 * 24); //得天


xuejiyong0619 2010-11-16
  • 打赏
  • 举报
回复
谢谢楼上的,控件已经找到了!!!
如何在JS中实现2个时间的减运算....
天下在我心 2010-11-16
  • 打赏
  • 举报
回复
取得repeater中的控件,后台方法

Repeater1.DataSource="";
Repeater1.DataBind(); //已经绑定完毕
for(int i = 0; i < Repeater1.Items.Count;i++)
{
Label lbl = (Label)Repeater1.Items[i].FindControl("Label1"); //如果是个Label,其他也是一样
lbl.Text="赋值"; //对于相应控件的操作
}

前台需要用document.getElementsByTagName方法取得控件的类型集合
然后再遍历找到这个控件,需要给这个控件设置一个特殊属性便于区分(唯一性)

var a = document.getElementsByTagName("input");
for (var i = 0; i < a.length; i++)
{
if(a[i].Width="500") //这里是宽度设置为500,需要寻找的控件可以用相对唯一的属性加以区分
{
//code
}
}
xuejiyong0619 2010-11-16
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 cj205 的回复:]
假设你外层的id为x
那么
var inputs = document.getElementById("id").getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++) {
if(input.type == "text" && inputs[i].id.match("lblBegin"……
[/Quote]
对 这样可以得到2个input的值
我最终要实现的就是一个倒计时功能,根据开始时间和结束时间的不同倒计时的时间也不同,在Repeater中如何实现。。。谢谢了。
nlx0201 2010-11-16
  • 打赏
  • 举报
回复
var SDeadline = document.getElementById("<%=lblDeadline.ClientID%>").value本来这样的是可行的,但是有些时候就会有点变化,你可以去看下你生成页面的源码是怎么样的,然后再想办法。
hanqing_liu 2010-11-16
  • 打赏
  • 举报
回复
var SDeadline = document.getElementById("<%=lblDeadline.ClientID%>").value;

这样写实可以的

你把这段脚本 放到header外面

放到body里
Mr-Jee 2010-11-16
  • 打赏
  • 举报
回复
假设你外层的id为x
那么
var inputs = document.getElementById("id").getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++) {
if(input.type == "text" && inputs[i].id.match("lblBegin")) {
//就是这个~
}
}
xuejiyong0619 2010-11-16
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 diaodiaop 的回复:]
哈 你把那2个控件的Id写成动态的不就行了吗?
[/Quote]
如何写
by_封爱 2010-11-16
  • 打赏
  • 举报
回复
哈 你把那2个控件的Id写成动态的不就行了吗?
xuejiyong0619 2010-11-16
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 zhoufeng0401 的回复:]
Repeater里面有个最外层table吧?table加个id,比如aa直接取
var oTbl=document.getElementById("aa");
var Repeater=document.getElementById("<%=Repeater1.ClientID%>";
解析出来是不存在的,依赖于控件的内容
[/Quote]
对啊,页面运行时,源码里面看不到Repeater,那要怎么解决..
persuit666 2010-11-16
  • 打赏
  • 举报
回复
Repeater里面有个最外层table吧?table加个id,比如aa直接取
var oTbl=document.getElementById("aa");
var Repeater=document.getElementById("<%=Repeater1.ClientID%>";
解析出来是不存在的,依赖于控件的内容
xuejiyong0619 2010-11-16
  • 打赏
  • 举报
回复
谢谢 帅哥哈,所问的问题确实已经解决了,不过2个时间减运算17楼的美女经验帮我解决了.结贴了.
Mr-Jee 2010-11-16
  • 打赏
  • 举报
回复
2个时间的减运算?算是另外的问题了吧
可以结贴重新提问了

xuejiyong0619 2010-11-15
  • 打赏
  • 举报
回复
我这样写var Repeater=document.getElementById("<%=Repeater1.ClientID%>";
为什么得到的Repeater为null
期待
xuejiyong0619 2010-11-15
  • 打赏
  • 举报
回复
寻求热心人士的帮忙,标题打错了字 应该是 js获得Repeater里面的控件的ID
xuejiyong0619 2010-11-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 q107770540 的回复:]
var Repeater=document.getElementById("<%=Repeater1.ClientID%>";
var txt=Repeater.getElementsByTagName("input");//这句是什么意思
for(var i=0;i<txt.length;i++)
{
//这里加个for是做什么的
}
[/Quote]谢谢
q107770540 2010-11-15
  • 打赏
  • 举报
回复
var Repeater=document.getElementById("<%=Repeater1.ClientID%>";
var txt=Repeater.getElementsByTagName("input");
for(var i=0;i<txt.length;i++)
{

}
xuejiyong0619 2010-11-15
  • 打赏
  • 举报
回复
等待各位的回答....
内容概要:本文围绕“新型电力系统下多分布式电源接入配电网承载力评估方法”的研究,系统性地介绍了基于Matlab的仿真建模与代码实现方案,旨在评估高比例分布式电源(如光伏、风电等)接入背景下配电网的接纳能力。研究融合了智能优化算法(如蜣螂优化、灰狼优化、遗传算法)、多目标优化、鲁棒优化及双层优化模型,结合潮流计算、稳定性分析与故障仿真,构建了完整的承载力评估体系。文档不仅提供核心算法实现,还拓展至微电网调度、储能配置、电氢耦合系统、电动汽车协同等前沿方向,强调“复现+创新”相结合的科研路径,助力研究者快速掌握高水平论文复现技巧并激发原创思路。; 适合人群:具备电力系统、自动化或相关专业背景,熟悉Matlab/Simulink仿真环境,正在从事科研或工程应用的研究生及初级科研人员(工作1-3年);; 使用场景及目标:①复现高水平期刊中关于配电网承载力的优化模型;②开展高比例可再生能源接入下的配电网规划与运行研究;③学习并应用智能优化算法解决复杂电力系统问题;④获取完整科研资源包以加速课题进展与论文撰写; 阅读建议:建议读者关注公众号“荔枝科研社”获取网盘资源,下载全套代码与模型文件,按照文档结构循序渐进学习,重点理解算法设计逻辑与仿真建模细节,结合所提供的复现案例深化对优化模型与工程应用场景的理解,提升科研效率与创新能力。

62,272

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧