基于JQuery地区三级联动列表

手头做的项目中需要用到地区库,在网上找了几个地区库,感觉不是很好,于是着手自己生 成一个地区库.地区来自中国统计局网站(数据够官方)(地址是: http://www.stats.gov.cn/tjbz/xzqhdm/t20080215_402462675.htm),通过文本处理,生成到 数据库(需要该地区数据库的朋友可留下邮箱地址,我发给你),做可处理操作.

这次用到的联动是生成了一个地区的js文件,原来是采用AJAX实现联动的,后来感觉生成JS 文件并不大,所以采用js方式.

下面是js处理代码(基于JQuery):

<script type="text/javascript">
    $(document).ready(function(){
      getProvinces();
    });
    
    function getProvinces(){
      var pro = "";
      for(var i = 0 ; i < provinces.length; i++){
        pro += "<option>" + provinces[i] + "</option>";
      }
      $('#province').empty().append(pro);
      getCities();
    }
    function getCities(){
      var proIndex = $('#province').attr('selectedIndex');
      showCities(proIndex);
      getCounties();
    }
    function showCities(proIndex){
      var cit = "";
      if(cities[proIndex] == null){
        $('#city').empty();
        return;
      }
      for(var i = 0 ;i < cities[proIndex].length ; i++){
        cit += "<option>" + cities[proIndex][i] + "</option>";
      }
      $('#city').empty().append(cit);
    }
    function getCounties(){
      var proIndex = $('#province').attr('selectedIndex');
      var citIndex = $('#city').attr('selectedIndex');
      showCounties(proIndex,citIndex);
    }
    function showCounties(proIndex,citIndex){
      var cou = "";
      if(counties[proIndex][citIndex] == null){
        $('#county').empty();
        return;
      }
      for(var i = 0 ;i < counties[proIndex][citIndex].length;i++){
        cou += "<option>" + counties[proIndex][citIndex] [i] + "</option>";
      }
      $('#county').empty().append(cou);
    }
    </script><select id="province" onchange="getCities()"></select>
          <select id="city" onchange="getCounties() " style="width:120px;"></select>
          <select id="county" style="width:120px;"></select>

这样实现了一个比较好的地区联动.

本文配套源码

时间: 2024-10-31 04:41:59

基于JQuery地区三级联动列表的相关文章

Yii2使用dropdownlist实现地区三级联动功能的方法_php实例

本文实例讲述了Yii2使用dropdownlist实现地区三级联动功能的方法.分享给大家供大家参考,具体如下: 视图部分: <?php use yii\helpers\Url; use yii\widgets\ActiveForm; use yii\helpers\ArrayHelper; use yii\helpers\Html; /* @var $this yii\web\View */ /* @var $model common\search\service\ItemSearch */ /

基于jquery实现省市联动效果_jquery

由于项目需要需要实现一个省市联动,由于业务有一些特殊的需求,使用现有的插件略有不便,就自己实现了一个. 首先需要保存地区数据的JS数据文件,我这里命名为areaData.js,内容如下: /** * 保存地区信息 * 数据格式 * areaData = [{'pro': '北京', 'cities': {'-1': '北京'}}, {...}] * 直辖市存在-1,表示就是直辖市 */ (function(window) { window.areaData = [{"pro":&quo

基于jquery实现省市联动特效_jquery

本文实例讲述了基于jquery实现省市联动特效的代码,分享给大家供大家参考,具体如下: 运行效果图: 具体代码如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Demo</title> <!-- 引入jquery --> <script src="http://lib.si

简单实用jquery版三级联动select示例

本文主要为大家介绍下通过jquery实现三级联动select这里用到的json文件,只是事例,根据情况添加或编写,感兴趣的朋友可以参考下哈,希望对大家有所帮助   html和js部分 复制代码 代码如下: <!DOCTYPE html> <html> <head> <meta charset=gbk /> <title>selectList</title> <style type="text/css">

JSON+Jquery省市区三级联动_jquery

效果图如下所示: 废话不多说了,直接给大家贴代码了,具体代码如下所示: <script src="../Scripts/jquery-1.4.1.min.js" type="text/javascript"></script> <!--读取数据库,以json的格式输出,然后复制json数据,创建js文件--> <script src="json/CityJson.js" type="text/j

中国地区三级联动下拉菜单效果分析_javascript技巧

因为最近有需要用到中国地区三级联动下拉菜单,虽然用公司的框架已经实现,但是看的比较迷茫,就网上找了下相关代码,主要的数据和功能实现都是在js文件中,网上找的地区数据有的地方不完整,需要自己添加,虽然和公司的框架实现的代码不一样,还是先把代码放上了,以后需要的时候可以看看,大家也可以看看! 1.首先是js文件(area.js): 复制代码 代码如下: function Dsy() { this.Items = {}; } Dsy.prototype.add = function(id,iArray

基于jquery实现三级下拉菜单_jquery

本文实例为大家分享了jquery三级下拉菜单的具体实现代码,供大家参考,具体内容如下 在写这个的时候,首先要捋顺思路.点一个菜单的时候,其他的要闭合,点一级菜单的时候,二三级菜单要闭合,等等. 大致代码如下: <body> <aside> <ul class="one"> <li> <a href="#" class="a">目录A</a> <ul class=&quo

基于jquery的二级联动菜单实现代码_jquery

jQuery 1.3.2 简单实现select二级联动 复制代码 代码如下: <!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

中国地区三级联动下拉菜单代码和示例(附带代码下载)

菜单|示例|下拉|下载     做东西时经常用到中国地区选择功能,于是从网上搜索一些中国地区js代码,然后给他引用到aspx页中,这也许您会碰到个问题:在html中测试一切正常,但是js文件嵌套到aspx文件中,就会出错!这个问题也困饶我n长时间,但是你只要用记事本打开.js后,另存一次,不过要注意的是:底下编码类型请选择:unicode 这样整个世界就和平拉! (注:该方法是小笨笨同学发现)     长话短说,咱开始讲经: 一 .先准备个js文件,给他个美名为:area.js(并把他放到文件夹