原生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判断checkbox选中状态
May 12 Javascript
xcode中获取js文件的路径方法(推荐)
Nov 05 Javascript
JS定时检测任务任务完成后执行下一步的解决办法
Dec 22 Javascript
jQuery解析返回的xml和json方法详解
Jan 05 Javascript
微信小程序中实现一对多发消息详解及实例代码
Feb 14 Javascript
微信小程序 出现47001 data format error原因解决办法
Mar 10 Javascript
Vue.js学习教程之列表渲染详解
May 17 Javascript
vue使用mint-ui实现下拉刷新和无限滚动的示例代码
Nov 06 Javascript
AngularJS标签页tab选项卡切换功能经典实例详解
May 16 Javascript
Vue 全家桶实现移动端酷狗音乐功能
Nov 16 Javascript
JS实现的获取银行卡号归属地及银行卡类型操作示例
Jan 08 Javascript
layui自定义工具栏的方法
Sep 19 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
解析用PHP读写音频文件信息的详解(支持WMA和MP3)
2013/05/10 PHP
php使用session二维数组实例
2014/11/06 PHP
几个比较经典常用的jQuery小技巧
2010/03/01 Javascript
一些常用的JavaScript函数(json)附详细说明
2011/05/25 Javascript
js bind 函数 使用闭包保存执行上下文
2011/12/26 Javascript
jquery数据验证插件(自制,简单,练手)实例代码
2013/10/24 Javascript
JS将数字转换成三位逗号分隔的样式(示例代码)
2014/02/19 Javascript
Jquery插件编写简明教程
2014/03/25 Javascript
Bootstrap轮播加上css3动画,炫酷到底!
2015/12/22 Javascript
JS中dom0级事件和dom2级事件的区别介绍
2016/05/05 Javascript
jquery学习笔记之无new构建详解
2017/12/07 jQuery
基于node打包可执行文件工具_Pkg使用心得分享
2018/01/24 Javascript
Vue表单demo v-model双向绑定问题
2018/06/29 Javascript
Vue-cli3项目配置Vue.config.js实战记录
2018/07/29 Javascript
js html实现计算器功能
2018/11/13 Javascript
js replace替换字符串同时替换多个方法
2018/11/27 Javascript
微信小程序实现发微博功能的示例代码
2020/06/24 Javascript
vue+iview分页组件的封装
2020/11/17 Vue.js
Python获取Windows或Linux主机名称通用函数分享
2014/11/22 Python
numpy中的delete删除数组整行和整列的实例
2018/05/09 Python
浅谈Python脚本开头及导包注释自动添加方法
2018/10/27 Python
Python3.6.x中内置函数总结及讲解
2019/02/22 Python
Python将视频或者动态图gif逐帧保存为图片的方法
2019/09/10 Python
Pandas DataFrame中的tuple元素遍历的实现
2019/10/23 Python
详解python破解zip文件密码的方法
2020/01/13 Python
Python实现猜年龄游戏代码实例
2020/03/25 Python
Foot Locker澳洲官网:美国运动服和鞋类零售商
2019/10/11 全球购物
芭比波朗加拿大官方网站:Bobbi Brown Cosmetics CA
2020/11/05 全球购物
晨会主持词
2014/03/17 职场文书
金融专业求职信
2014/08/05 职场文书
作风建设年活动实施方案
2014/10/24 职场文书
个人股份合作协议书
2014/10/24 职场文书
四年级学生期末评语
2014/12/26 职场文书
展览会邀请函
2015/02/02 职场文书
项目安全员岗位职责
2015/02/15 职场文书
仓库管理制度范本
2015/08/04 职场文书