我有一个ascx文件,内有一个dropdownlist控件,
<asp:DropDownList id="dplPronvice" runat="server"></asp:DropDownList>
我想通过js代码在客户端对它一些特定的操作:
var drp2 = document.getElementById("dplPronvice");
这样就可以找到这个控件了.
但结果由于:这是一个ascx控件。它由装载页面装入后html代码就变为了:
<select name="_ctl0:AdminContent:Register1:_ctl0:dplPronvice" id="_ctl0_AdminContent_Register1__ctl0_dplPronvice">
这样的东西,怎么办?很明显,我不知道最后产生的是什么id,就没有办法在js中引用它。
help!

解决方案 »

  1.   

    gz想知道....
    好象有个ClientID的....
      

  2.   

    使用该控件ClientID可以得到在客户端生成的id,然后让var drp2 = document.getElementById("dplPronvice");中的id是得到的ClientID就可以使用了
      

  3.   

    一个笨办法,将得到的ClientID赋给一个公共变量,让这个用户控件返回这个变量值,然后将这个变量在.aspx中直接使用就好了,如;
    var drp2 = document.getElementById("<%=变量名%>");
      

  4.   

    var selects = document.getElementsByTagName("select");
    for(var i=0;i<selects.length;i++)
    {
    if(selects.item(i).name.indexOf("dplPronvice")!=-1)
    {
                              //selects.item(i)就是你要的
    }
    }这样做的条件是原来的dplPronvice必须是唯一的,要不然就会有问题了~
      

  5.   

    应该可以把脚本设置到控件的attribute里去吧