高手莫入--AJAX实现下拉框联动

简介:
想当年,为了实现三级联动,找个js高手些了N多代码才搞定,但是很慢,因为一次要将所有的选项取来,然后排序,查找动态显示。
 
现在使用AJAX真是太方便了,下面做了个简单例子,实现下拉框的省市联动,效果图如下:
 
 
 
实现代码:
a.html
<html> 
<body> 
<script language= "JavaScript"
        var req =  null
        function test() { 
                var province = document.all( "province").value; 
                req =  new ActiveXObject( "Microsoft.XMLHTTP"); 
                 //设置属性,当后台处理完成后,回来调用myDeal方法。 
                req.onreadystatechange = myDeal; 
                 //发出请求 
                req.open( "GET""c.jsp?province=" + province,  "false"); 
                req.send( null); 
        } 
        function myDeal() { 
                 if (req.readyState == 4) { 
                         //接收服务端返回的数据 
                        var ret = req.responseText; 
                         //处理数据 
                        var obj = document.all( "city"); 
                         for (var i = obj.options.length - 1; i >= 0; i--) { 
                                obj.options.remove(i);  //从后往前删除 
                        } 
                        var ops = ret.split( "|"); 
                         for (var i = 0; i < ops.length; i++) { 
                                var op = ops[i]; 
                                var ss = op.split( ","); 
                                var oOption = document.createElement( "OPTION");  //创建一个OPTION节点 
                                obj.options.add(oOption);     //将节点加入city选项中 
                                oOption.innerText = ss[1];     //设置选择展示的信息 
                                oOption.value = ss[0];          //设置选项的值 
                        } 
                } 
        } 
</script> 

省份:<select id= "province" name= "province" onchange= "test();"
        <option value= "hn">河南</option> 
        <option value= "sx">陕西</option> 
</select><br> 
城市:<select id= "city" name= "city"
        <option value= "zz">郑州</option> 
        <option value= "ly">洛阳</option> 
</select><br> 

</body> 
</html>
 
c.jsp
<%@ page contentType= "text/html;charset=UTF-8" language= "java" %> 
<% 
        String id = request.getParameter( "province"); 
        System.out.println( "id="+id); 
         if(id != null&& id.equals( "hn")){ 
                out.println( "zz,郑州市|ly,洛阳市"); 
        } else  if(id !=  null && id.equals( "sx")){ 
                out.println( "xa,西安市|xy,咸阳市"); 
        } 
%>
 
这个功能挺实用的,选项数据可以从数据库中获取,为了把例子做简单点,就用jsp提供数据。
 


本文转自 leizhimin 51CTO博客,原文链接:http://blog.51cto.com/lavasoft/204884,如需转载请自行联系原作者
相关文章
QGS
|
XML 前端开发 JavaScript
手搭手Ajax经典基础案例省市联动
手搭手Ajax经典基础案例省市联动
QGS
51 1
|
7月前
|
前端开发 Java
layui结合ajax实现下拉联动效果
layui结合ajax实现下拉联动效果
|
7月前
|
前端开发 Java
layui结合ajax实现下拉菜单联动效果
layui结合ajax实现下拉菜单联动效果
|
7月前
|
JSON 前端开发 JavaScript
jQuery ajax读取本地json文件 三级联动下拉框
jQuery ajax读取本地json文件 三级联动下拉框
|
XML JSON JavaScript
原生AJAX实现异步请求
原生AJAX实现异步请求
130 0
|
前端开发 JavaScript
【jquery ajax】实现文件上传提交
【jquery ajax】实现文件上传提交
281 0
【jquery ajax】实现文件上传提交
|
JavaScript 搜索推荐 API
JQuery+ajax实现类似百度搜索自动匹配功能
JQuery+ajax实现类似百度搜索自动匹配功能
371 0
JQuery+ajax实现类似百度搜索自动匹配功能
|
Web App开发 JSON 前端开发
Ajax实现动态及时刷新表格数据
Ajax实现动态及时刷新表格数据
432 0
Ajax实现动态及时刷新表格数据
|
前端开发
layui结合ajax实现下拉联动效果
layui结合ajax实现下拉联动效果
476 0
layui结合ajax实现下拉联动效果
|
前端开发
$.ajax()的实现方式
$.ajax()的实现方式
111 0