我做了一个显示省份  城市  区域以树的形式显示,可我现在要把这个改成动态的下拉框级联,也就是在jsp页面只有一个下拉框显示的是省份,然后当我点击省份的时候又增加一个下拉框出来显示城市,在点击城市又显示区域出来,当我在这个地区在添加其他子节点的时候,它又会在添加一个下拉框区域出来,请问这个该怎么实现呢

解决方案 »

  1.   

    数据库里面地区的数据是有pid进行关联上下级的数据的
      

  2.   

    普通的三级联动,用Ajax啊!个人认为还是jQuery最好用。
      

  3.   


    用JS实现多级级联下拉框基本思想:把下拉框的数据全部读出,并存放在JS的Array中。 当选择下拉框的时候触发onChange()事件动态的添加级联   下拉框的内容。
    <html>  <script language="javascript"> var areaArray = new Array();  areaArray[areaArray.length]=new Array("1","杭州");  areaArray[areaArray.length]=new Array("2","湖州");  areaArray[areaArray.length]=new Array("3","温州"); var townArray = new Array();  townArray[townArray.length]=new Array("1","1","上城区");   townArray[townArray.length]=new Array("1","2","下城区");   townArray[townArray.length]=new Array("2","3","南浔镇");   townArray[townArray.length]=new Array("2","4","菱湖镇");   townArray[townArray.length]=new Array("3","5","乐清");   townArray[townArray.length]=new Array("3","6","苍南");   function setTown(obj1ID,obj2ID){        var objArea = document.getElementById(obj1ID);        var objTown = document.getElementById(obj2ID);        var i;        var itemArray = null;        if(objArea.value.length > 0){             itemArray = new Array();             for(i=0;i<townArray.length;i++){                if(townArray[i][0]==objArea.value){                    itemArray[itemArray.length]=new Array(townArray[i][1],townArray[i][2]);                }             }        }        for(i = objTown.options.length ; i >= 0 ; i--){                objTown.options[i] = null;        }        objTown.options[0] = new Option("请选地区");        objTown.options[0].value = "";          if(itemArray != null){                for(i = 0 ; i < itemArray.length; i++){                        objTown.options[i+1] = new Option(itemArray[i][1]);                        if(itemArray[i][0] != null){                           objTown.options[i].value = itemArray[i][0];                        }                }        }   }   </script>  <body>   <table width="99%" border="0" align="center" style="border-bottom:1px solid #cccccc">      <tr>       <td width="10"><select name="areaid" id="areaid" onChange="setTown('areaid','townid')">          <option value="">请选市县</option>          <option value="1">杭州</option>    <option value="2">湖州</option>    <option value="3">温州</option>   </select>       </td> <td  width="10"><select name="townid" id="townid">    <option value="">请选地区</option>   </select> </td>           </tr>       </table>  </body></html>   
      

  4.   

    用Jquery的ajax,要不用jsp的标签JSTL页可以;
      

  5.   

    用AJAX,很容易的。
      大概思路就是:当你选择省份的下拉框时,调用它的onchange事件,在查询对应的数据,邦定到城市下拉框上面去。选择城市,在改变区域的时一样的思路。
      

  6.   

    建议使用 ajax 。读数据库
      

  7.   

    onchange事件用Ajax实现,楼主别忘了要清空就可以了。
      

  8.   

    ajax请求servlet去访问数据库, 给界面返回结果
      

  9.   

    用dwr 我刚刚做了一个,很好用哦
      

  10.   

    我的资源里有个,你不防去看看。
    http://download.csdn.net/source/2565784