原生javascript AJAX 三级联动的实现代码
程序员文章站
2022-07-06 12:08:27
js 三级联动的实现代码如下所示:
...
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 三级联动的实现代码,希望对大家有所帮助
上一篇: 详解Vue中watch的高级用法
下一篇: Vue SSR 组件加载问题