`
cakin24
  • 浏览: 1388041 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

使用jQuery制作级联下拉列表框

阅读更多

一 代码

fun.js
// JavaScript Document
$(document).ready(
	function(){
		$.get("returnpc.php?flag=p", null, function(data){     //向服务器发送GET请求,获取省份的值,并将结果追加到省份下拉列表中
		    $("#p").append(data);							 
		});
		$("#c").css("display","none");     //初始状态使城市下拉列表不可见
		$("#p").change(function(){     //为省份下拉列表增加改变事件
		    if($("#p").val()==""){		 //在没选择省份的情况下,使城市下拉列表不可见
			    $("#c").css("display","none");     
			}else{
		        $.get("returnpc.php?flag=c&p="+$("#p").val(), null, function(data){     //如果选择了某省份,则向服务器发送GET请求,使用回调函数为城市下拉列表赋值,并使城市下拉列表可见
			        $("#c").css("display","");
					$("#c").empty();															  
			        $("#c").append(data);      //将数据追加到城市下拉列表     									  
			    });  
		     }
		});
    }		
);
 
index.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>使用jQuery制作级联下拉选择框选择地区</title>
</head>
<script language="javascript" src="js/jquery-1.3.2.js"></script>
<script language="javascript" src="js/fun.js"></script>
<body>
<select id="p" name="p" >
    <option value="">-请选择地区-</option>
</select>
<select id="c" name="c">
</select>
</body>
</html>
 
pc.php
<?php
/* 说明: 全国(省,直辖市,自治区,特别行政区)数组*/
$p = array('北京','上海','天津','重庆','黑龙江','吉林','辽宁','内蒙古','河北','河南','山东','山西','江苏','安徽','陕西','宁夏','甘肃','青海','湖北','湖南','浙江','江西','福建','贵州','四川','广东','广西','云南','海南','新疆');
/* 说明: 省,市,直辖市,自治区所属的城市数组*/
$c = array();
$c[0] = array('北京');
$c[1] = array('上海');
$c[2] = array('天津');
$c[3] = array('重庆');
$c[4] = array('哈尔滨','齐齐哈尔','牡丹江','大庆','伊春','双鸭山','鹤岗','鸡西','佳木斯','七台河','黑河','绥化','大兴安岭');
$c[5] = array('长春','延边','吉林','白山','白城','四平','松原','辽源','大安','通化');
$c[6] = array('沈阳','大连','葫芦岛','旅顺','本溪','抚顺','铁岭','辽阳','营口','阜新','朝阳','锦州','丹东','鞍山');
$c[7] = array('呼和浩特','呼伦贝尔','锡林浩特','包头','赤峰','海拉尔','乌海','鄂尔多斯','通辽');
$c[8] = array('石家庄','唐山','张家口','廊坊','邢台','邯郸','沧州','衡水','承德','保定','秦皇岛');
$c[9] = array('郑州','开封','洛阳','平顶山','焦作','鹤壁','新乡','安阳','濮阳','许昌','漯河','三门峡','南阳','商丘','信阳','周口','驻马店');
$c[10] = array('济南','青岛','淄博','威海','曲阜','临沂','烟台','枣庄','聊城','济宁','菏泽','泰安','日照','东营','德州','滨州','莱芜','潍坊');
$c[11] = array('太原','阳泉','晋城','晋中','临汾','运城','长治','朔州','忻州','大同','吕梁');
$c[12] = array('南京','苏州','昆山','南通','太仓','吴县','徐州','宜兴','镇江','淮安','常熟','盐城','泰州','无锡','连云港','扬州','常州','宿迁');
$c[13] = array('合肥','巢湖','蚌埠','安庆','六安','滁州','马鞍山','阜阳','宣城','铜陵','淮北','芜湖','毫州','宿州','淮南','池州');
$c[14] = array('西安','韩城','安康','汉中','宝鸡','咸阳','榆林','渭南','商洛','铜川','延安');
$c[15] = array('银川','固原','中卫','石嘴山','吴忠');
$c[16] = array('兰州','白银','庆阳','酒泉','天水','武威','张掖','甘南','临夏','平凉','定西','金昌');
$c[17] = array('西宁','海北','海西','黄南','果洛','玉树','海东','海南');
$c[18] = array('武汉','宜昌','黄冈','恩施','荆州','神农架','十堰','咸宁','襄樊','孝感','随州','黄石','荆门','鄂州');
$c[19] = array('长沙','邵阳','常德','郴州','吉首','株洲','娄底','湘潭','益阳','永州','岳阳','衡阳','怀化','韶山','张家界');
$c[20] = array('杭州','湖州','金华','宁波','丽水','绍兴','雁荡山','衢州','嘉兴','台州','舟山','温州');
$c[21] = array('南昌','萍乡','九江','上饶','抚州','吉安','鹰潭','宜春','新余','景德镇','赣州');
$c[22] = array('福州','厦门','龙岩','南平','宁德','莆田','泉州','三明','漳州');
$c[23] = array('贵阳','安顺','赤水','遵义','铜仁','六盘水','毕节','凯里','都匀');
$c[24] = array('成都','泸州','内江','凉山','阿坝','巴中','广元','乐山','绵阳','德阳','攀枝花','雅安','宜宾','自贡','甘孜州','达州','资阳','广安','遂宁','眉山','南充');
$c[25] = array('广州','深圳','潮州','韶关','湛江','惠州','清远','东莞','江门','茂名','肇庆','汕尾','河源','揭阳','梅州','中山','德庆','阳江','云浮','珠海','汕头','佛山');
$c[26] = array('南宁','桂林','阳朔','柳州','梧州','玉林','桂平','贺州','钦州','贵港','防城港','百色','北海','河池','来宾','崇左');
$c[27] = array('昆明','保山','楚雄','德宏','红河','临沧','怒江','曲靖','思茅','文山','玉溪','昭通','丽江','大理');
$c[28] = array('海口','三亚','儋州','琼山','通什','文昌');
$c[29] = array('乌鲁木齐','阿勒泰','阿克苏','昌吉','哈密','和田','喀什','克拉玛依','石河子','塔城','库尔勒','吐鲁番','伊宁');
?>
 
returnpc.php
<?php
require_once 'pc.php';    //包含省份数组和城市数组
$flag = $_GET['flag'];     //用于区分是返回省份信息还是返回城市信息
$str="";
if($flag == p){     //如果参数flag的值为p,则返回省份信息
    for($i=0; $i<count($p); $i++){      //通过循环整理所有要追加到省份下拉列表的内容
        $str.="<option value=\"".iconv('gbk','utf-8',$p[$i])."\">".iconv('gbk','utf-8',$p[$i])."</option>";    
    }  
    echo $str;     //输出要返回的参数
}else{
    $index = array_search($_GET['p'], $p);     //提取所选择省份的在省份数组中对应的键值
    for($j=0; $j<count($c[$index]); $j++){       //通过循环整理所有要追加到城市下拉列表的内容
        $str.= "<option value=\"".iconv('gbk','utf-8',$c[$index][$j])."\">".iconv('gbk','utf-8',$c[$index][$j])."</option>";
	}
	echo $str;       //输出要返回的参数
}
?>
 
二 运行结果

 
  • 大小: 3.5 KB
1
1
分享到:
评论

相关推荐

    jQuery实现的多级级联下拉列表

    使用jQuery实现级联下拉列表 以下是一段基本的jQuery代码示例,展示了如何处理级联下拉列表的事件和数据填充: ```javascript $(document).ready(function() { $('#level1Select').change(function() { var ...

    两级级联下拉列表jquery插件doubleSelect.zip

    "两级级联下拉列表jquery插件doubleSelect.zip"是一个专门处理这种需求的jQuery插件,它可以帮助开发者快速实现这种功能,提升用户体验。 jQuery是一个广泛使用的JavaScript库,它简化了DOM操作、事件处理、动画...

    级联下拉框效果 jquery

    在本教程中,我们将深入探讨如何使用jQuery来实现这一功能。 首先,我们需要理解jQuery的基本用法。jQuery是一个轻量级的JavaScript库,它简化了HTML文档遍历、事件处理、动画制作和Ajax交互。要使用jQuery,需要在...

    java web下开发二级级联下拉菜单(数据库实现的)

    在Java Web开发中,二级级联下拉菜单是一种常见的用户界面元素,用于提供层次结构的选择。这个场景中,我们利用数据库存储数据,并通过后端处理逻辑动态生成这些下拉菜单。下面将详细介绍如何使用MySQL数据库来实现...

    级联下拉菜单

    在级联下拉菜单中,当用户在第一个下拉菜单中选择一个项时,我们使用jQuery的Ajax方法发送一个异步请求到服务器。这个请求包含了用户的选择,服务器根据这个信息查找并返回相关的下拉列表选项。 Json,全称...

    jQuery实现动态生成年月日级联下拉列表示例

    在本文中,我们将深入探讨如何使用jQuery来动态生成年月日级联下拉列表。这个功能在许多网页表单中非常实用,特别是那些需要用户输入日期的场景。级联下拉列表可以提供良好的用户体验,因为它根据用户的选择自动更新...

    jquery下拉菜单级联选择地区

    在IT领域,级联下拉菜单(Cascading Dropdown)是一种常见的交互设计,它用于创建一个联动的效果,用户在一个下拉菜单中选择一项后,另一个相关的下拉菜单会更新其选项,以显示与前一次选择相关的内容。在这个场景中...

    一个用jquery写的级联完整例子

    例如,在一个国家-省份-城市的级联下拉中,选择国家后,省份列表会更新为该国的省份,接着选择省份后,城市列表会显示相应的城市。 在这个例子中,主要的步骤可能包括: 1. **HTML结构**:创建包含多个级联下拉框...

    与后台结合的使用jquery实现的联动选择框

    在联动选择框的实现中,jQuery主要负责监听用户的选择改变事件,以及发送Ajax请求到后台获取新的下拉选项。 描述中的`getorganize.do`文件是一个返回数据的示例,通常这是一个服务器端的接口,可能是Java的Servlet...

    Ajax (jQuery) 全国城市三级级联菜单插件

    例如,我们可以使用`$.getJSON()`来获取JSON格式的城市数据,然后使用jQuery的DOM操作方法(如`append()`)将这些数据插入到对应的下拉列表中。 该插件的实现可能包括以下几个主要步骤: 1. **初始化**:在页面...

    基于jquery+json的通用四级联动下拉列表.zip

    3. **绑定事件**:使用jQuery的`on()`方法监听第一个下拉列表的`change`事件。当用户做出选择时,触发事件处理函数。 4. **更新下拉列表**:在事件处理函数中,根据选定的值从数据结构中提取对应的子级选项,并使用...

    省份城市区域div级联 超好工具js jQuery

    在IT行业中,尤其是在前端开发领域,我们经常遇到需要实现省份城市区域选择的功能,这通常涉及到用户界面中的级联下拉菜单。"省份城市区域div级联 超好工具js jQuery"是一个这样的解决方案,它利用JavaScript(特别...

    jquery-.zip_JavaScript/JQuery_Java_

    这里我们关注的是一个与Java相关的项目,它使用JQuery来实现级联下拉列表的功能。级联下拉列表是一种常见的UI设计模式,它允许用户在一个下拉列表的选择基础上动态更新另一个下拉列表的选项。 首先,我们要理解...

    jQuery选择学校、选择地区、选择行业、选择职位、选择国籍效果

    jQuery允许我们动态地填充这个下拉列表,甚至可以实现级联选择,即根据用户选择的省份或城市加载相应的学校列表。通过$.getJSON或$.ajax方法,我们可以从服务器获取数据,并使用$.each函数遍历数据来创建选项。 接...

    asp+access级联菜单.rar

    级联菜单,通常在Web应用中用于导航,它显示一系列相互关联的下拉列表,当用户选择一个选项时,下一个级别的菜单会根据所选内容动态加载。这种菜单结构能够有效节省页面空间,提高用户体验,尤其是在处理大量分类...

    jquery js效果

    在IT行业中,jQuery是一个非常流行的JavaScript库,它极大地简化了DOM操作、事件处理、动画制作以及Ajax交互。...无论是图片展示、选择框联动还是下拉列表的动态加载,掌握这些技术都将对你的前端开发能力大有裨益。

    jquery写的城市四级联动菜单

    5. **更新下拉菜单**:收到服务器响应后,解析JSON数据,然后使用jQuery的`html()`或`append()`方法更新市级下拉菜单的选项。 6. **递归处理**:对于市、区、县下拉菜单,重复以上步骤,每次根据上一级的选择更新...

    jquery 城市选择器

    一个典型的jQuery城市选择器通常由两个或多个下拉列表组成,分别对应省份和城市。当用户选择一个省份时,城市列表会根据所选省份动态加载相关城市数据,这就是所谓的级联效果。这种级联选择可以扩展到区县甚至街道,...

    关于jquery(ajax)web四级联动

    在JSP页面中,可以设置四个级联的下拉列表,每个列表的选项将在用户做出选择后通过AJAX请求更新。AJAX的优点在于它可以异步地从服务器获取数据,无需刷新整个页面,从而提供了更好的用户体验。 JavaScript代码通常...

    jquery版本省份城市地区联动菜单

    它可能还包含用于展示菜单的HTML元素,如下拉列表,这些元素与jQuery事件绑定,实现联动效果。 2. `jquery.js` - 这是jQuery库的文件,被HTML文件引用,提供必要的JavaScript功能。 3. `district.json`, `city....

Global site tag (gtag.js) - Google Analytics