日期:2014-05-17  浏览次数:20693 次

ajax 省市联动
第一个下拉框省
第二个地区

现在选择了第一下拉框里的东西,能提交到后台,也能在js中得到后台的传上来的地区值
接下来 如何把地区的值添加到第2级下拉框中啊



------解决方案--------------------
http://download.csdn.net/source/1138166

一位大哥实现的ajax联动
------解决方案--------------------
我有,我做过,把你的邮箱发到lhq198706@163.com。我把文件发给你
------解决方案--------------------
我的资源里有个省市二级菜单联动 AJAX 源代码,java 版的。楼主可以去看看。
------解决方案--------------------
不说废话,直接上自己写的代码,我是用js解析的xml,顺便写了注释,绝对看得懂
HTML code

<head>
      <script type="text/javascript">
      //获取XML文档对象根节点(文档路径)
      function getXMLNodes(xmlPath){
        var xmlDocument=new ActiveXObject("Microsoft.XMLDOM");//创建XML文档对象
        xmlDocument.async=false;//关闭异步处理
        xmlDocument.load(xmlPath);//读取XML文档
        return xmlDocument.documentElement.childNodes;//获取文档根节点数组
      }
      //获取父级菜单数据
      function getPro(){
          var nodes=getXMLNodes("/XMLDemo/xml/address.xml");//获取文档根节点数组
        var slcPro=document.getElementById("slcPro");//获取父级列表对象
        for(var i=0;i<nodes.length;i++)//循环根节点数组,获取根节点值
            slcPro.options[i+1]=new Option(nodes[i].getAttribute("value"),nodes[i].getAttribute("id"));
    }
    //根据父级菜单获取子级菜单数据
     function getCity(slcPro){
          var nodes=getXMLNodes("/XMLDemo/xml/address.xml");//获取文档根节点数组
         var slcCity=document.getElementById("slcCity");//获取子级列表对象
         slcCity.options.length = 1;//清空下拉列表框(保留默认项)
        for(var i=0;i<nodes.length;i++){//循环根节点数组
            if(slcPro.getAttribute("value")==nodes[i].getAttribute("id")){//如果根节点id等于父级列表值
                var cityNodes=nodes[i].childNodes;//获取对应根节点的子节点数组
                for(var j=0;j<cityNodes.length;j++)//遍历子节点数组
                    slcCity.options[j+1]=new Option(cityNodes[j].text,cityNodes[j].getAttribute("id"));
                break;
            }
        }
     }
      </script>
  </head>
  
  <body onload="getPro()">
    省:<select id="slcPro" onchange="getCity(this)">
        <option >--请选择--</option>
    </select>
    市:<select id="slcCity"><option >--请选择--</option></select>
  </body>