当前位置: 移动技术网 > IT编程>开发语言>JavaScript > 原生javascript AJAX 三级联动的实现代码

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

2018年05月11日  | 移动技术网IT编程  | 我要评论

实用新型专利,少时黑海,毒枭凤后

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 三级联动的实现代码,希望对大家有所帮助

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网