原生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如何使用bind指定接收者
May 04 Javascript
jQuery中appendTo()方法用法实例
Jan 08 Javascript
javascript实现点击按钮让DIV层弹性移动的方法
Feb 24 Javascript
举例讲解JavaScript substring()的使用方法
Nov 09 Javascript
javascript每日必学之循环
Feb 19 Javascript
node.js发送邮件email的方法详解
Jan 06 Javascript
Javascript 链式作用域详细介绍
Feb 23 Javascript
Vue.js render方法使用详解
Apr 05 Javascript
解决layer弹出层中表单不起作用的问题
Sep 09 Javascript
layer.alert自定义关闭回调事件的方法
Sep 27 Javascript
借助云开发实现小程序短信验证码的发送
Jan 06 Javascript
vue内置组件component--通过is属性动态渲染组件操作
Jul 28 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 获取远程文件内容的函数代码
2010/03/24 PHP
php实现根据url自动生成缩略图的方法
2014/09/23 PHP
分享php代码将360浏览器导出的favdb的sqlite数据库文件转换为html
2015/12/09 PHP
PHP获取当前系统时间的方法小结
2018/10/03 PHP
几个有趣的Javascript Hack
2010/07/24 Javascript
jQuery find和children方法使用
2011/01/31 Javascript
javascript 图片裁剪技巧解读
2012/11/15 Javascript
JavaScript设计模式之单例模式实例
2014/09/24 Javascript
jQuery获得子元素个数的方法
2015/04/14 Javascript
简介JavaScript中的setDate()方法的使用
2015/06/11 Javascript
javascript检查浏览器是否已经启用XX功能
2015/07/10 Javascript
Javascript模仿淘宝信用评价实例(附源码)
2015/11/26 Javascript
JavaScript学习小结(7)之JS RegExp
2015/11/29 Javascript
JavaScript事件代理和委托详解
2016/04/08 Javascript
jquery实现网页定位导航
2016/08/23 Javascript
JavaScript中的子窗口与父窗口的互相调用问题
2017/02/08 Javascript
微信小程序 开发之滑块视图容器(swiper)详解及实例代码
2017/02/22 Javascript
使用jQuery实现简单的tab框实例
2017/08/22 jQuery
jquery-file-upload 文件上传带进度条效果
2017/11/21 jQuery
bootstrap treeview 扩展addNode方法动态添加子节点的方法
2017/11/21 Javascript
karma+webpack搭建vue单元测试环境的方法示例
2018/05/24 Javascript
react使用CSS实现react动画功能示例
2020/05/18 Javascript
python网络编程之TCP通信实例和socketserver框架使用例子
2014/04/25 Python
python执行shell获取硬件参数写入mysql的方法
2014/12/29 Python
使用css3实现的windows8开机加载动画
2014/12/09 HTML / CSS
专业幼师实习生自我鉴定范文
2013/12/08 职场文书
银行领导证婚词
2014/01/11 职场文书
护士在校生自荐信
2014/02/01 职场文书
学习雷锋月活动总结
2014/07/03 职场文书
四风问题对照检查材料整改措施
2014/09/27 职场文书
教师个人自我剖析材料
2014/09/29 职场文书
第二批党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
护士自荐信范文
2015/03/25 职场文书
2016入党积极分子党校培训心得体会
2016/01/06 职场文书
详解Html5项目适配系统深色模式方案总结
2021/04/14 HTML / CSS
React实现动效弹窗组件
2021/06/21 Javascript