您好,登錄后才能下訂單哦!
怎么在javascript中使用 AJAX 實現三級聯動?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
<!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 實現三級聯動的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。