一、我在用户控件的ascx页面中用var listbox = document.getElementById('<%=lboxRole.ClientID%>')可以获取到相应控件,改成var listbox=$('#<%=lboxRole.ClientID%>')为什么就报错了?二、本来只有一两句js,就想直接写在控件的OnClientClick方法上的,可是<%=lboxRole.ClientID%>这种语法为什么就不起作用?三、把<%=lboxRole.ClientID%>这种语法写到单独的js文件中也无效。难道只能把这种js写在aspx/ascx页面上吗?

解决方案 »

  1.   

    1.报什么错,确定jq加载上了?2.<%=lboxRole.ClientID%> 是什么值?3.<%%> 是后台脚本,单独放js文件里当然解析不鸟,需要放在aspx中
      

  2.   

    <%=lboxRole.ClientID%> 只能放在ASPX中 其他文件时不行的
      

  3.   


    1.就是报object什么的错,好像是说不存在吧。确定jquery加上了。2.当然是获取用户控件里某个控件的值啊,不能直接用Id的,必须用ClientId3.原来如此
      

  4.   

    var listbox=$('#<%=lboxRole.ClientID%>') 这样获取的 jQuery对象 不是dom对象,需要转换。
    var listbox_dom=listbox.get(0); //DOM对象