我有一个管理员节点,在鼠标移动到这个节点的时候自动弹出一个下拉三级框,可选择省,市,县。请问那位大侠有好的思路,绝对高分相送呢!~

解决方案 »

  1.   

    是用JS而不是Java实现吧?这个可以做一个隐藏的层,里面内容是省级下拉框,然后ajax实现三级联动下拉框。
      

  2.   

    有神马区别?管理员节点添加click事件,设置一个状态值active = false;节点被点击时,判断active来选择是否有动作。管理员节点添加mouseover事件,触发事件时候,显示或创建一个联动的下拉列表(数据可以是Ajax获取,也可以是页面加载的时候一次性获取,然后由JS完成联动)。下拉列表被选择且是有效值时,设置active = true;管理员节点再被点击时可执行某些动作。当点击页面上非管理员节点和下拉列表时(或者是非下拉列表且active = true时),下拉列表隐藏或去除,同时设置active = false;
      

  3.   

    现在的问题是在创建联动下拉表的时候,innerHTML引用外部JS源文件无效。
      

  4.   

    动态加载js文件:
      <script type="text/javascript">
    var js = document.createElement('script');
    js.src = 'http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.5.2.min.js';
    document.getElementsByTagName('head')[0].appendChild(js);
      </script>
      

  5.   

    谢谢你们,七楼在方法很好,我在网上看到了一个类似的例子,不过用的是innerHTML内加载JS。代码如下:
     <html>  
     <head>  
     </head>  
     <body >   <div id='t3'><script id='myid' src=''></script> <!--这里是关键-->
    </div>
     
     <input type="button" value="C" onmouseover="c()"><br> </body> 
     <script type="text/javascript">  
     function c(){
     var d=document.getElementById("t3");
     var  str='<SELECT NAME="optProvince" id="optProvince" >'
            +'<OPTION value="省份" selected="selected">请选择'
    +'</select>'
    +'<SELECT NAME="optCity" id="optCity">'
    +'<OPTION value="城市" selected="selected" >请选择'
    +'</select>'
    +'<SELECT NAME="optCounty" id="optCounty">'
    +'<option value="县区" selected="selected">请选择'
    +'</select>'

    +'<script id="myid"><\/script>';
           d.innerHTML = str;
           document.getElementById("myid").src="city.js"; 
      
      }

    </script>
     </html>