原生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 Autocomplete自动完成插件
Jul 17 Javascript
常用Extjs工具:Extjs.util.Format使用方法
Mar 22 Javascript
Extjs grid panel自带滚动条失效的解决方法
Sep 11 Javascript
JavaScript动态插入CSS的方法
Dec 10 Javascript
jQuery代码实现表格中点击相应行变色功能
May 09 Javascript
浅谈jQuery 中的事件冒泡和阻止默认行为
May 28 Javascript
浅谈js使用in和hasOwnProperty获取对象属性的区别
Apr 27 Javascript
JavaScript实现的弹出遮罩层特效经典示例【基于jQuery】
Jul 10 jQuery
vue props对象validator自定义函数实例
Nov 13 Javascript
javascript设计模式 ? 桥接模式原理与应用实例分析
Apr 13 Javascript
详解Node.js使用token进行认证的简单示例
May 25 Javascript
vue项目支付功能代码详解
Feb 18 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
星际争霸任务指南——人族
2020/03/04 星际争霸
自己写的php中文截取函数mb_strlen和mb_substr
2015/02/09 PHP
PHP file_get_contents函数读取远程数据超时的解决方法
2015/05/13 PHP
php创建图像具体步骤
2017/03/13 PHP
goto语法在PHP中的使用教程
2020/09/17 PHP
jQuery中与toggleClass等价的程序段 以及未来学习的方向
2010/03/18 Javascript
Fixie.js 自动填充内容的插件
2012/06/28 Javascript
简单实用的反馈表单无刷新提交带验证
2013/11/15 Javascript
js判断手机端(Android手机还是iPhone手机)
2015/07/22 Javascript
vue中路由参数传递可能会遇到的坑
2017/12/07 Javascript
微信小程序3D轮播实现代码
2019/09/19 Javascript
原生小程序封装跑马灯效果
2020/10/21 Javascript
[01:29:46]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第二局
2016/02/27 DOTA
[48:11]完美世界DOTA2联赛 Magma vs GXR 第二场 11.07
2020/11/10 DOTA
python字典DICT类型合并详解
2017/08/17 Python
解决python3 HTMLTestRunner测试报告中文乱码的问题
2018/12/17 Python
PyQt5 实现字体大小自适应分辨率的方法
2019/06/18 Python
python OpenCV GrabCut使用实例解析
2019/11/11 Python
python爬虫开发之使用Python爬虫库requests多线程抓取猫眼电影TOP100实例
2020/03/10 Python
在django中使用post方法时,需要增加csrftoken的例子
2020/03/13 Python
TensorFlow的reshape操作 tf.reshape的实现
2020/04/19 Python
Python3 webservice接口测试代码详解
2020/06/23 Python
python实现PolynomialFeatures多项式的方法
2021/01/06 Python
Python实现图片指定位置加图片水印(附Pyinstaller打包exe)
2021/03/04 Python
eDreams葡萄牙:全球最大的在线旅行社之一
2019/04/15 全球购物
一套中级Java程序员笔试题
2015/01/14 面试题
儿科护理实习自我鉴定
2013/09/19 职场文书
服务行业个人求职的自我评价
2013/12/12 职场文书
创业计划书的写作技巧及要点
2014/01/31 职场文书
开学典礼决心书
2014/03/11 职场文书
基层党建工作宣传标语
2014/06/24 职场文书
基层党员对照检查材料
2014/09/24 职场文书
社会工作专业自荐信
2014/09/26 职场文书
见习报告格式范文
2014/11/08 职场文书
物业管理交接协议书
2016/03/24 职场文书
SQL模糊查询报:ORA-00909:参数个数无效问题的解决
2021/06/21 Oracle