原生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 相关文章推荐
原生javascript实现图片按钮切换
Jan 12 Javascript
浅谈Javascript数组的使用
Jul 29 Javascript
js实现的tab标签切换效果代码分享
Aug 25 Javascript
JS实现对中文字符串进行utf-8的Base64编码的方法(使其与Java编码相同)
Jun 21 Javascript
详解Angular的8个主要构造块
Jun 20 Javascript
详解用vue.js和laravel实现微信授权登陆
Jun 23 Javascript
在 Node.js 中使用 async 函数的方法
Nov 17 Javascript
Vue头像处理方案小结
Jul 26 Javascript
vue组件挂载到全局方法的示例代码
Aug 02 Javascript
vue iview多张图片大图预览、缩放翻转
Jul 13 Javascript
JS数组方法slice()用法实例分析
Jan 18 Javascript
非常漂亮的js烟花效果
Mar 10 Javascript
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
在任意字符集下正常显示网页的方法一
2007/04/01 PHP
PHP中文分词 自动获取关键词介绍
2012/11/13 PHP
PHP统计目录大小的自定义函数分享
2014/11/18 PHP
yii2中LinkPager增加总页数和总记录数的实例
2017/08/28 PHP
JavaScript面向对象之体会[总结]
2008/11/13 Javascript
一个简单的javascript类定义例子
2009/09/12 Javascript
客户端js性能优化小技巧整理
2013/11/05 Javascript
javascript实现浏览器窗口传递参数的方法
2014/09/03 Javascript
javascript同步服务器时间和同步倒计时小技巧
2015/09/24 Javascript
实例讲解jQuery EasyUI tree中state属性慎用
2016/04/01 Javascript
深入解析jQuery中Deferred的deferred.promise()方法
2016/05/03 Javascript
微信小程序三级联动地址选择器的实例代码
2017/07/12 Javascript
javascript算法之二叉搜索树的示例代码
2017/09/12 Javascript
js实现倒计时器自定义时间和暂停
2019/02/25 Javascript
详解微信小程序网络请求接口封装实例
2019/05/02 Javascript
javascript实现简易的计算器
2020/01/17 Javascript
React实现轮播效果
2020/08/25 Javascript
Django在Win7下的安装及创建项目hello word简明教程
2014/07/14 Python
利用Python进行数据可视化常见的9种方法!超实用!
2018/07/11 Python
Python实现查找数组中任意第k大的数字算法示例
2019/01/23 Python
Pandas读取并修改excel的示例代码
2019/02/17 Python
如何使用pandas读取txt文件中指定的列(有无标题)
2020/03/05 Python
Python基于Hypothesis测试库生成测试数据
2020/04/29 Python
python request 模块详细介绍
2020/11/10 Python
利用Python函数实现一个万历表完整示例
2021/01/23 Python
乌克兰网上服装店:Bolf.ua
2018/10/30 全球购物
什么是Assembly(程序集)
2014/09/14 面试题
司马光教学反思
2014/02/01 职场文书
《掌声》教学反思
2014/02/23 职场文书
党员群众路线承诺书
2014/05/20 职场文书
员工薪酬激励方案
2014/06/13 职场文书
2014年教育实习工作总结
2014/11/22 职场文书
2014年网络管理员工作总结
2014/12/01 职场文书
介绍长城的导游词
2015/01/30 职场文书
解决Pytorch修改预训练模型时遇到key不匹配的情况
2021/06/05 Python
Redis配置外网可访问(redis远程连接不上)的方法
2022/12/24 Redis