javascript实现省市区三级联动选择的代码(数据为模拟json数据)

简介: javascript实现省市区三级联动选择的代码(数据为模拟json数据):

javascript实现省市区三级联动选择的代码(数据为模拟json数据)



<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title></title>
    <script src="js/jquery-1.11.1.min.js"></script>
    <style>
      select{
        width:100px;  
      }
    </style>
  </head>
  <body>
    省:
    <select name="" id="sheng">
      <option value="">请选择</option>
    </select>
    市:
    <select name="" id="shi" disabled="disabled">
      <option value="">请选择</option>
    </select>
    区:
    <select name="" id="qu" disabled="disabled">
      <option value="">请选择</option>
    </select>
    <script type="text/javascript">
      //省
      $.getJSON("data/local_P.json",function(date){
        date.forEach(function(item){
          var pOption = "<option value='"+item.id+"'>"+item.nameP+"</option>";
          $("#sheng").append(pOption);
        });
      });
      //市
      $("#sheng").change(function(){
        $("#shi").attr("disabled",false);
        $("#shi").children(":not(:first)").remove();
        $("#qu").children(":not(:first)").remove();
        $.getJSON("data/local_S.json",function(date){
          var pId = $("#sheng").val();
          date.forEach(function(item){
            if(item.p_id == pId){
              var sOption = "<option value='"+item.s_id+"'>"+item.nameS+"</option>";
              $("#shi").append(sOption);
            }
          });
        });
      });
      //区
      $("#shi").change(function(){
        $("#qu").attr("disabled",false);
        $("#qu").children(":not(:first)").remove();
        $.getJSON("data/local_q.json",function(date){
          console.log(date);
          var sId = $("#shi").val();
          date.forEach(function(item){
            if(item.s_id == sId){
              var qOption = "<option value='"+item.id_q+"'>"+item.nameq+"</option>";
              $("#qu").append(qOption);
            }
          });
        });
      });
    </script>
  </body>
</html>


数据为模拟数据,注意模拟的json数据每一项都要加双引号,否则 $.getJson()获取不到数据,json数据如下;


local_P.json:  


  [{
  "id":"1001",
  "nameP":"江苏"
},{
  "id":"1002",
  "nameP":"浙江"
}]


local_S.json:


[{
  "p_id":"1001",
  "s_id":"101",
  "nameS":"苏州"
},{
  "p_id":"1001",
  "s_id":"102",
  "nameS":"南通"
},{
  "p_id":"1002",
  "s_id":"201",
  "nameS":"金华"
},{
  "p_id":"1002",
  "s_id":"202",
  "nameS":"杭州"
}]


local_q.json:


[{
  "s_id":"102",
  "id_q":"10201",
  "nameq":"如皋"
},{
  "s_id":"102",
  "id_q":"10202",
  "nameq":"海门"
},{
  "s_id":"101",
  "id_q":"10203",
  "nameq":"吴中"
},{
  "s_id":"101",
  "id_q":"10204",
  "nameq":"高新区"
},{
  "s_id":"201",
  "id_q":"20203",
  "nameq":"金东"
},{
  "s_id":"201",
  "id_q":"20204",
  "nameq":"义乌"
},{
  "s_id":"202",
  "id_q":"20201",
  "nameq":"杭州下属市1"
},{
  "s_id":"202",
  "id_q":"20202",
  "nameq":"杭州下属市2"
}]


以上,是自己模拟json数据写的省市区三级联动选择的例子,注意json数据的格式问题。

目录
相关文章
|
6天前
|
编解码 前端开发 JavaScript
javascript检测网页缩放演示代码
javascript检测网页缩放演示代码
|
8天前
|
Web App开发 JavaScript 前端开发
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
|
9天前
|
存储 JavaScript 前端开发
webSocket+Node+Js实现在线聊天(包含所有代码)
文章介绍了如何使用WebSocket、Node.js和JavaScript实现在线聊天功能,包括完整的前端和后端代码示例。
46 0
|
9天前
|
存储 JSON JavaScript
js中JSON的使用
介绍JSON的基本概念和在JavaScript中的使用方式,包括JSON格式的语法规则、使用`JSON.stringify()`和`JSON.parse()`方法进行对象与字符串的转换,以及处理JSON数组数据。
js中JSON的使用
|
3天前
|
JSON JavaScript 前端开发
js如何格式化一个JSON对象?
js如何格式化一个JSON对象?
10 3
|
8天前
|
存储 JSON Go
在Gin框架中优雅地处理HTTP请求体中的JSON数据
在Gin框架中优雅地处理HTTP请求体中的JSON数据
|
6天前
|
存储 JavaScript 前端开发
改进JavaScript代码,给水果有序赋色
改进JavaScript代码,给水果有序赋色
|
8天前
|
存储 JSON JavaScript
JavaScript帮我编写快递自动分拣的代码,区分省份市区县城乡镇
JavaScript帮我编写快递自动分拣的代码,区分省份市区县城乡镇在JavaScript中编写一个用于快递自动分拣的代码,区分省份、市区、县、城乡镇,通常意味着你需要一个数据结构来存储这些地理区域的信息,并编写逻辑来根据快递地址中的信息将其分配到正确的分类中。 这里,我将提供一个简化的示例,说明如何使用JavaScript对象和函数来实现这一功能。请注意,这个示例是高度简化的,并且假设你已经有了某种方式(如正则表达式或API调用)来从快递地址中提取省份、市区、县等信息。 ----------------------------------- ©著作权归作者所有:来自51CTO博客作者goS
|
9天前
|
JavaScript 前端开发 Python
python执行js代码
本文档详细介绍如何安装Node.js环境及PyExecJS库,并提供示例代码展示其功能。首先,通过指定链接安装Node.js,安装完毕后可在命令行中输入`node --version`来验证安装是否成功。接着,使用`pip install PyExecJS`安装PyExecJS库,该库允许Python程序执行JavaScript代码。文档还提供了多个示例代码,展示了如何在Python环境中执行和编译JavaScript代码,并可以选择特定的JavaScript运行时环境,如Node.js或JScript。最后,通过具体案例展示了PyExecJS的功能与使用方法。
16 3
|
9天前
|
XML JSON JavaScript
js的json格式
js的json格式