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提供数据。

出处:http://lavasoft.blog.51cto.com/62575/204884

时间: 2024-10-18 12:42:47

AJAX实现下拉框联动的相关文章

基于Ajax实现下拉框联动显示数据_AJAX相关

公司做项目的时候,需要用到下拉框联动显示数据的功能,索性利用Ajax来实现,看到时间比较充裕,就没去找demo自己去想方法写了.纯自己的想法,有些可能比较弱智,希望不要见笑. 页面中的两个下拉列表框: <tr> <td style="width: 130px"> 所在学院:</td> <td style="width: 100px"> <select id="college" style=&q

基于Ajax实现下拉框联动显示数据

公司做项目的时候,需要用到下拉框联动显示数据的功能,索性利用Ajax来实现,看到时间比较充裕,就没去找demo自己去想方法写了.纯自己的想法,有些可能比较弱智,希望不要见笑. 页面中的两个下拉列表框: <tr> <td style="width: 130px"> 所在学院:</td> <td style="width: 100px"> <select id="college" style=&q

JavaScript Ajax Json实现上下级下拉框联动效果实例代码_javascript技巧

最近尝试做出一个部门和人员的下拉框联动功能,部门和人员的对应关系是1:N 复制代码 代码如下: <div class="forntName">部门</div> <div class="inpBox"> <select  name="department" id="department"  onchange="change();" style="width:

Ajax学习之------&amp;gt;Ajax和Json实现无限下拉框联动(上)

  init.jsp页面,直接跳转到InitShengServlet2这个servlet初始化省份 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <jsp:forward page="/InitShengServlet2"></jsp:forward>   /** 该servlet初始化完后跳转到li

jQuery+jsp下拉框联动获取本地数据的方法(附源码)_jquery

本文实例讲述了jQuery+jsp下拉框联动获取本地数据的方法.分享给大家供大家参考,具体如下: JQuery下拉框联动很好的体现了Ajax的按需取数据的要求,减小数据的交互量.(点击此处下载源代码) 下面的实例使用Json将服务器端的类或者对象转换为JSON格式,主要运用了6个jar包 commons-beanutils-1.7.0.jar commons-collections-3.2.jar commons-lang-2.3.jar commons-logging-1.0.4.jar ez

实现jsp页面二级下拉框联动,实时读取数据库数据

在一个jsp页面实现二级下拉框联动,实时读取数据库数据,这个方法非常有用,只需要修改很小的地方就可以使用.设计的文件,serch.jsp,main.js,bytetostr.js, 先讲一下main.js,这是javascript,其中注意修改jsp页面名称. 以下为引用的内容: function findObject(fName,initValue)...{   var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");   xmlht

在一个jsp页面实现二级下拉框联动

js|下拉|页面 在一个jsp页面实现二级下拉框联动,实时读取数据库数据. 在一个jsp页面实现二级下拉框联动,实时读取数据库数据,这个方法非常使用,只需要修改很小的地方就可以使用.设计的文件,serch.jsp,main.js,bytetostr.js, 先讲一下main.js,这是javascript,其中注意修改jsp页面名称.  function findObject(fName,initValue)...{   var xmlhttp = new ActiveXObject("Micr

AJAX级联下拉框的简单实现案例

 本篇文章主要是对AJAX级联下拉框的简单实现案例进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 需要的JAVA类    代码如下: package com.ajaxlab.ajax;  import java.util.ArrayList;  import java.util.Collection;  import java.util.Iterator;  import org.jdom.Document;  import org.jdom.Element;  import org.

语言 java-跪求jfinal框架做的三级下拉框联动的demo 和数据库连接的

问题描述 跪求jfinal框架做的三级下拉框联动的demo 和数据库连接的 语言:java 数据库:sql 框架:jfinal 实现三级下拉框联动 求jfinal 大神 跪求了