如何在javascript中使用asp.net生成的控件ID
小弟看到一个下拉列表框联动的例子。
http://www.knowsky.com/336545.html
在实现的时候遇到问题:
原来的例子,是在.aspx直接使用控件,代码如下:
<SELECT id= "province " runat= "server " NAME= "province "> </SELECT>
生成的HTML如下:
<select name= "province " id= "province "> </select>
我实现的时候,使用了web用户控件(.ascx),控件中的代码跟上面的相同,
生成的HTML:
<select name= "CtrlUserCenter1:_ctl0:province " id= "CtrlUserCenter1__ctl0_province "> </select>
例子的javascript需要用到控件的ID,其中的一段代码如下:
for(i=0;i <s.length-1;i++)
document.getElementById(s[i]).onchange=new Function( "change( "+(i+1)+ ") ");
但是现在生成的ID却差别太多。
怎么办?
从.net方面下手的话怎么办?
从javascript方面下手的话怎么办?
------解决方案--------------------var id = " <%=this.province.ClientID%> ";
------解决方案--------------------cpp2017(慕白兄)的办法不错,呵呵
在用户控件中,
<select name= "CtrlUserCenter1:_ctl0:province " id= "CtrlUserCenter1__ctl0_province "> </select>
<script language=javascript>
var provinceId = " <%=this.province.ClientID%> ";
</script>
但是ASPX中这个控件要写在用到控件的ID的代码之前。
------解决方案--------------------cs文件写province.ClientID可以获得该控件客户端id
js中写obj=document.getElementById( ' <%=province.ClientID %> ');
------解决方案--------------------同解 cpp2017(慕白兄)的