이번에는 네이티브 JS+AJAX(코드 포함)의 3레벨 링크 효과에 대해 알려드리겠습니다. 3레벨 링크를 생성하기 위한 네이티브 JS+AJAX의 주의사항은 무엇입니까? 바라보다.
js 3단계 연결의 구현 코드는 다음과 같습니다.
<!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>
이 기사의 사례를 읽으신 후 방법을 마스터하셨다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요. !
추천 도서:
vue 영역 선택 구성 요소를 사용하는 단계에 대한 자세한 설명
위 내용은 기본 JS+AJAX는 3단계 연결 효과를 생성합니다(코드 포함).의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!