问一下,我的datalist有很多label, 前台代码是span标签,我怎么获取我想要的label值呢,他得id又是变动的
varlb=document.getElementById(datalist).getElementsByTagName("span");只能获取所有span标签,也就是...
var lb = document.getElementById(datalist).getElementsByTagName("span");只能获取所有span标签,也就是label控件,但是我想获取其中一个label的值,我不知道他得id,label的id在前台代码是不断变化的。
展开
4个回答
展开全部
一般是服务器控件在生成html的时候他的ID都是会变的,所以在JS想要获取指定ID的服务器控件可以这样
var lbl=document.getElementById("<%=Label1.ClientID %>");
如果是在datalist里面的话也可以这样,比如你想要Label的值为1的Label
var label;
var lbl=document.getElementById("<%=DataList1.ClientID %>").getElementsByTagName("span");
for(var i=0;i<span.length;i++)
{
if(lbl[i].innerHTML=="5")
{
label=lbl[i];
}
}
这样就能取到你要的那个label啦!
var lbl=document.getElementById("<%=Label1.ClientID %>");
如果是在datalist里面的话也可以这样,比如你想要Label的值为1的Label
var label;
var lbl=document.getElementById("<%=DataList1.ClientID %>").getElementsByTagName("span");
for(var i=0;i<span.length;i++)
{
if(lbl[i].innerHTML=="5")
{
label=lbl[i];
}
}
这样就能取到你要的那个label啦!
来自:求助得到的回答
展开全部
前面会加你datalist动态加的ID,是固定添加的,可以写死
如:ctl00_ContentPlaceHolder1_rptAffordableReview_ctl01_(lblUserID这个是你的ID前面是固定的,不过当你Datalist的ID改变时前缀自然也会改变)
也可以给JS方法直接传值或ID.
document.getElementById( ctl00_ContentPlaceHolder1_rptAffordableReview_ctl01_(+ "labelid")
不知是否说的清楚?
如:ctl00_ContentPlaceHolder1_rptAffordableReview_ctl01_(lblUserID这个是你的ID前面是固定的,不过当你Datalist的ID改变时前缀自然也会改变)
也可以给JS方法直接传值或ID.
document.getElementById( ctl00_ContentPlaceHolder1_rptAffordableReview_ctl01_(+ "labelid")
不知是否说的清楚?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以试试不用lable控件,直接用span标签替换lable标签:
<span id="<%# Container.ItemIndex+1%>"><%#Eval("Link_Name")%></span>
这样你就可以绑定数据了,span的ID用datalist的项的编号来定义。你可以试试。
<span id="<%# Container.ItemIndex+1%>"><%#Eval("Link_Name")%></span>
这样你就可以绑定数据了,span的ID用datalist的项的编号来定义。你可以试试。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-12-22
展开全部
不是很清楚
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询