原生javascript AJAX 三级联动的实现代码


Posted in Javascript onMay 04, 2018

js 三级联动的实现代码如下所示:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>js原生ajax</title>
</head>
<body>
  <select name="sel1">
    <option value="" >-请选择 省/直辖市/自治区-</option>
  </select>
  <select name="sel2">
    <option value="" >-请选择 市-</option>
  </select>
  <input type="text" value="" id="int"/>
  <script>
    var sel1 = document.getElementsByName('sel1')[0];
    var sel2 = document.getElementsByName('sel2')[0];
    var ints = document.getElementById('int');
    // 创建请求对象
    var a = new XMLHttpRequest();
    // 初始化
    a.open('get','city.json','true');
    // 发送
    a.send();
    //readySate 状态码 交互进行到了哪一步
    //0:请求未初始化
    //1:服务器链接已建立
    //2:请求已经接受
    //3:请求处理中
    //4:请求已经完成,且响应已就绪
    //status 交互是否成功
    a.onreadystatechange = function(){
      if(a.status ==200||a.status == 304){
        if(a.readyState == 4){
          var obj = JSON.parse(a.response);//responseText:获得字符串形式的响应数据。
          var b = obj.城市代码;
          for(var i = 0;i<b.length;i++){
            var nOpt = document.createElement('option');
            var nOpt_t =document.createTextNode(b[i].省);
            nOpt.appendChild(nOpt_t);
            sel1.appendChild(nOpt);
            nOpt.value = i;
            console.log(ints.value)
          }
          sel1.onchange = function (){
            var index = sel1.selectedIndex;  //获取select选择的option的下标值
            var va = sel1.options[index].value//获取select第几个option的value值
            var city = b[va].市;    //获取他下边的市
            sel2.options.length = 1;  //清空所有的select下的option的值
            for(var i = 0;i<city.length;i++){
              var nOpt = document.createElement('option');
              var nOpt_t =document.createTextNode(city[i].市名);
              nOpt.appendChild(nOpt_t);
              sel2.appendChild(nOpt);
              nOpt.value = i;
              ints.value = "";
            }
          }
          sel2.onchange = function (){
            var sel1v = sel1.value;
            var sel2v = sel2.value;
            var intsi = b[sel1v]['市'][sel2v]['编码'];
            ints.value = intsi;
          }
        }
      }
    }
  </script>
</body>
</html>

总结

以上所述是小编给大家介绍的原生javascript AJAX 三级联动的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jquery监控数据是否变化(修正版)
Apr 12 Javascript
快速掌握Node.js事件驱动模型
Mar 21 Javascript
JS添加删除DIV的简单实例
Jul 08 Javascript
JS提示:Uncaught SyntaxError: Unexpected token ILLEGAL错误的解决方法
Aug 19 Javascript
JavaScript之WebSocket技术详解
Nov 18 Javascript
JQuery和PHP结合实现动态进度条上传显示
Nov 23 Javascript
聊聊那些使用前端Javascript实现的机器学习类库
Sep 18 Javascript
AngularJS实现controller控制器间共享数据的方法示例
Oct 30 Javascript
three.js实现3D影院的原理的代码分析
Dec 18 Javascript
解决微信小程序防止无法回到主页的问题
Sep 28 Javascript
elementUI 设置input的只读或禁用的方法
Oct 30 Javascript
在vue项目中封装echarts的步骤
Dec 25 Vue.js
Vue在页面右上角实现可悬浮/隐藏的系统菜单
May 04 #Javascript
vue裁切预览组件功能的实现步骤
May 04 #Javascript
详解vue组件基础
May 04 #Javascript
在 Vue 项目中引入 tinymce 富文本编辑器的完整代码
May 04 #Javascript
[原创]jquery判断元素内容是否为空的方法
May 04 #jQuery
Vue.js 踩坑记之双向绑定
May 03 #Javascript
Vue利用canvas实现移动端手写板的方法
May 03 #Javascript
You might like
ubuntu 编译安装php 5.3.3+memcache的方法
2010/08/05 PHP
用php的ob_start来生成静态页面的方法分析
2011/03/09 PHP
PHP的5个安全措施小结
2012/07/17 PHP
HTML中嵌入PHP的简单方法
2016/02/16 PHP
[原创]php使用curl判断网页404(不存在)的方法
2016/06/23 PHP
jQuery调用WebService的实现代码
2011/06/19 Javascript
javascript正则表达式使用replace()替换手机号的方法
2015/01/19 Javascript
JavaScript模仿Pinterest实现图片预加载功能
2016/10/25 Javascript
详解js前端代码异常监控
2017/01/11 Javascript
jQuery读取XML文件的方法示例
2017/02/03 Javascript
认识less和webstrom的less配置方法
2017/08/02 Javascript
JS实现同一DOM元素上onClick事件与onDblClick事件并存的解决方法
2018/06/07 Javascript
详解Express笔记之动态渲染HTML(新手入坑)
2018/12/13 Javascript
vue-router实现编程式导航的代码实例
2019/01/19 Javascript
使用webpack4编译并压缩ES6代码的方法示例
2019/04/24 Javascript
javascript实现函数柯里化与反柯里化过程解析
2019/10/08 Javascript
js仿360开机效果
2019/12/26 Javascript
[53:36]Liquid vs VP Supermajor决赛 BO 第三场 6.10
2018/07/05 DOTA
Python3字符串学习教程
2015/08/20 Python
Python+matplotlib实现华丽的文本框演示代码
2018/01/22 Python
使用Python将Mysql的查询数据导出到文件的方法
2019/02/25 Python
python读出当前时间精度到秒的代码
2019/07/05 Python
python输出决策树图形的例子
2019/08/09 Python
Python根据服务获取端口号的方法
2019/09/25 Python
Python使用Opencv实现图像特征检测与匹配的方法
2019/10/30 Python
用Python去除图像的黑色或白色背景实例
2019/12/12 Python
python3 常见解密加密算法实例分析【base64、MD5等】
2019/12/19 Python
Python flask框架如何显示图像到web页面
2020/06/03 Python
萨克斯第五大道的折扣店:Saks Fifth Avenue OFF 5TH
2016/08/25 全球购物
荷兰超市:DEEN
2018/03/14 全球购物
DJI全球:DJI Global
2021/03/15 全球购物
荷兰最大的鞋子、服装和运动折扣店:Bristol
2021/01/07 全球购物
意大利顶级奢侈品电商:LUISAVIAROMA(支持中文)
2020/05/26 全球购物
小学生国庆65周年演讲稿范文(2篇)
2014/09/21 职场文书
2014年财政局工作总结
2014/12/09 职场文书
2015军训通讯稿大全
2015/07/18 职场文书