我要达到一个效果, 无限极分类,然后,当下拉框选择改变的时候, 弹出一个新的下拉框,  新的下拉框改变的时候又弹出一个新的下拉框,  当老的下拉框改变的时候,所有此级别后的下拉框全部取消,或者,全部消失,谢谢,  

解决方案 »

  1.   

    这也是最普通的联级,可以通过ajax向后台访问,返回数据动态改变子下拉框的内容。
      

  2.   

    根据onchange事件,将值用ajax发送到服务器端。然后服务器端查询数据结果返回,用回调函数
    进行动态构建下一级下拉菜单即可
      

  3.   

    我也知道Ajax 调用后台,返回结果  编辑HTML   我问题的关键是, 如何创建N个下拉框,然后,当第N个下拉框改变的时候, N+1和以后的下拉框全部消失,、  这才是关键所在, 
      

  4.   

    两种方法:
    1.DOM动态创建删除.
    2.真正无限级是不可能的.你的数据级别肯定是有限的.所以可以预先把几个SELECT写出来,设上ID.只显示第一个,其余隐藏.然后在每个SELECT的ONCHANGE事件中把这个SELECT后的一个SELECT显示出来,其它的隐藏(这个通过有编号的ID就可以达到了).
      

  5.   

    写了个实例.
    <select id="s1" onchange="sh(1);">
    <option value=1>1</option>
    <option value=2>2</option>
    <option value=3>3</option>
    </select>
    <select id="s2" onchange="sh(2);" style="visibility: hidden">
    <option value=1>动态添加1</option>
    <option value=1>动态添加2</option>
    </select>
    <select id="s3" onchange="sh(3);" style="visibility: hidden">
    <option value=1>动态添加1</option>
    <option value=1>动态添加2</option>
    </select>
    <select id="s4" onchange="sh(4);" style="visibility: hidden">
    <option value=1>动态添加1</option>
    <option value=1>动态添加2</option>
    </select>
    <script type="text/javascript">
    var sn=4;//下拉框的个数
    function sh(cid){
    if(cid<sn){
    document.getElementById("s"+(cid+1)).style.visibility="visible";
    //动态添加下一个下拉框内容的函数也可以放这里
    }
    if(cid<sn-1){
    for(var i=cid+2;i<=sn;i++){
    document.getElementById("s"+i).style.visibility="hidden";
    }
    }
    }
    </script>