<!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 三级联动的更多相关文章

  1. 使用 AJAX + 三级联动 实现分类出全国各地的省,市,区

    使用AJAX + 三级联动  实现分类出全国各地的省,市,区 也可以将下面的显示页面所写的 function循环,封装成js文件,就是在写代码软件里创建一个js文件,就和创建一个HTML或php文件一 ...

  2. ajax验证表单元素规范正确与否 ajax展示加载数据库数据 ajax三级联动

    一.ajax验证表单元素规范正确与否 以用ajax来验证用户名是否被占用为例 1创建表单元素<input type="text" id="t"> 2 ...

  3. AJAX 三级联动

    新的封装类 <?php class DBDA { public $host="localhost";//服务器地址 public $uid="root"; ...

  4. ajax三级联动下拉菜单

    ajax写三级联动,先写一个文件类吧,以后用的时候直接调用即可: 来找一张表: 实现: 中国地域的三级联动:省.市.区: 图: 说一下思路: (1)当用户选择省份的时候触发事件,把当前的省份的id通过 ...

  5. 2019.03.25 Ajax三级联动

    所谓三级联动就是,一层接着一层,根据上一层的选择给出这一层的结果 如选择市之后,会给出相应的区,然后到相应的县这就是联动 配置视图 ​from django.core import serialize ...

  6. 0509 关于Ajax + 三级联动示例

    关于Ajax 1.干什么的? ajax负责抓取用户名信息,传递给服务器进行校验: 2.属性: onreadystatechange:事件,该事件可以感知ajax状态(readyState)的变化.aj ...

  7. [Ajax三级联动 无刷新]

    三级联动 的效果图 html页面: <body> <label class="fl">区域:</label> <select class= ...

  8. 2、.net NVelocity中原生javascript ajax封装使用

    在页面上,我们经常会遇到局部刷新的例子,这个时候,就需要用到ajax, 因为很多代码都是公用的,所以我们想到了,将代码封装,简化了使用,减少了冗余 javascript ajax代码如下: var x ...

  9. 原生JS实现三级联动

    代码实现 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF- ...

随机推荐

  1. oracle删除表垃圾

    1,完全删除表: drop table 表名 purge; 2,删除表后永久删除-回收站表 purge table 表名: 3,清空垃圾回收站 purge recyclebin; 4, 查询所有此类表 ...

  2. BugFree使用技巧 转载

    转载 2013年05月27日 17:53:45 BugFree使用技巧 我们将会从使用Ldap域账号.使用标记.发送邮件通知.更改上传附件的大小和使用快捷键来进行讲解. 使用Ldap域帐号 如果希望使 ...

  3. 系统服务和普通FORMS程序共存一体的实现

    要求:一个EXE,如何将它做成这样的效果:1.双击它时,像一个FORMS程序那样正常显示窗体运行.2.注册成系统服务,每次都可以从service.msc中启动它. 也就是说,没注册之前,它可以当作普通 ...

  4. ubuntu 阿里云 常出问题 运维工作日志

    一.2015-8.26(数据库 error—28) tmp文件临时数据写入不了----解决办法 1.查看临时文件 ls -l 找到了 2.由此可以查看得出来tmp文件有的权限是有的 3.查看tmp 存 ...

  5. Flutter at Google I/O 2018

    Flutter at Google I/O 2018   如何观看 https://flutterchina.club/ 极速构建漂亮的原生应用 Flutter是谷歌的移动UI框架,可以快速在iOS和 ...

  6. SCOPE_IDENTITY的用法【转载】

    SCOPE_IDENTITY   和   @@IDENTITY   的作用都是取得返回在当前会话中的任何表内所生成的最后一个标识值,简单的说就是在执行一条插入语句之后使用@@IDENTITY的全局变量 ...

  7. pyqt环境安装

    pyqt环境配置 pip install pyqt5 windows下 pip install pyqt5-tools linux安装designer sudo apt install qttools ...

  8. url参数的转码和解码

    encodeURI(str) //转码 decodeURI(str)//解码

  9. 峰Redis学习(4)Redis 数据结构(List的操作)

    第四节:Redis 数据结构之List 类型 存储list: ArrayList使用数组方式 LinkedList使用双向链接方式   双向链接表中增加数据 双向链接表中删除数据   存储list常用 ...

  10. 时间同步chrony

          时间同步chrony [root@compute02 ~]# yum install chrony   编辑配置文件 将sever区块下的内容修改为时间服务器的地址 .此处可以写局域网内的 ...