jquery調(diào)取json數(shù)據(jù)實(shí)現(xiàn)省市級(jí)聯(lián)的方法
本文實(shí)例講述了jquery調(diào)取json數(shù)據(jù)實(shí)現(xiàn)省市級(jí)聯(lián)的方法。分享給大家供大家參考。具體如下:
使用jQuery mobile作為創(chuàng)建移動(dòng)web的框架,需要實(shí)現(xiàn)省市級(jí)聯(lián)的功能,具體代碼如下(還需要優(yōu)化的地方):
Html代碼:
jQuery mobile中,有input list屬性,下方緊跟<datalist >標(biāo)簽,中間包含的<option value="XXXX"></option>即為選項(xiàng),相當(dāng)于這個(gè)input為有下拉列表的功能,當(dāng)然,input的list名稱需要和datalist中的id一致。
<input id="province" list="prvlist" placeholder="省/自治區(qū)/直轄市" onblur="changeProvince();"> <datalist id="prvlist"> </datalist> <input style="" id="city" list="citylist" placeholder="市" onblur="changeCity();"> <datalist id="citylist"> </datalist> <input style="" id="area" list="arealist" placeholder="區(qū)"> <datalist id="arealist"> </datalist>
js代碼:
js代碼,主要功能
1、提取json數(shù)據(jù),綁定到省級(jí)下拉列表內(nèi)
2、省級(jí)input選擇好后,市級(jí)列表自動(dòng)綁定
3、區(qū)級(jí)下拉列表同市級(jí)一樣
<script> $(function () { getProvince(); //頁面打開后,省級(jí)下拉列表自動(dòng)綁定 }) //獲取省份 function getProvince() { var Aid; var Afather; $.get('area_json0.txt', {}, function (data) { for (var i = 0; i < data.length; i++) { if (data[i].fatherId == 0) { Afather += '<option id=" ' + data[i].id + '" value="' + data[i].name + '">'; } } $("#prvlist").append(Afather); } , 'json'); } function changeProvince(){ var city; var prv_val=$("#province").val(); getJson(prv_val); } function changeCity(){ var city_val=$("#city").val(); getJsonArea(city_val); } function getJson(Name){ var cityID; $.get('area_json0.txt', {}, function (data) { for (var i = 0; i < data.length; i++) { if (data[i].name == Name) { cityID=data[i].id; } } setCity(cityID); } , 'json'); } function setCity(val){ var Acity; var $listcity=$("#citylist"); $.get('area_json0.txt', {}, function (data) { for (var n = 0; n < data.length; n++) { if (data[n].fatherId == val) { alert(data[n].id); Acity += '<option id=" ' + data[n].id + '" value="' + data[n].name + '">'; } } $listcity.append(Acity); } , 'json'); } function getJsonArea(Name){ var areaID; $.get('area_json0.txt', {}, function (data) { for (var i = 0; i < data.length; i++) { if (data[i].name == Name) { areaID=data[i].id; } } setArea(areaID); } , 'json'); } function setArea(Aval){ var Aarea; var $listarea=$("#arealist"); $.get('area_json0.txt', {}, function (data) { for (var m = 0; m < data.length; m++) { if (data[m].fatherId == Aval) { alert(data[n].id); Aarea += '<option id=" ' + data[m].id + '" value="' + data[m].name + '">'; } } $listarea.append(Aarea); } , 'json'); } </script>
代碼應(yīng)該還可以進(jìn)一步優(yōu)化,暫時(shí)將代碼保存。
相關(guān)文章
jQuery實(shí)現(xiàn)base64前臺(tái)加密解密功能詳解
這篇文章主要介紹了jQuery實(shí)現(xiàn)base64前臺(tái)加密解密功能,結(jié)合實(shí)例形式分析了jquery.base64.js實(shí)現(xiàn)前臺(tái)base64加密與解密功能的實(shí)現(xiàn)方法,并給出了java實(shí)現(xiàn)后臺(tái)base64加密解密的操作示例對(duì)比驗(yàn)證加密效果,需要的朋友可以參考下2017-08-08jQuery查找節(jié)點(diǎn)并獲取節(jié)點(diǎn)屬性的方法
這篇文章主要介紹了jQuery查找節(jié)點(diǎn)并獲取節(jié)點(diǎn)屬性的方法,涉及jQuery簡單獲取節(jié)點(diǎn)及attr與text方法讀取元素屬性的相關(guān)技巧,需要的朋友可以參考下2016-09-09基于jquery的橫向滾動(dòng)條(滑動(dòng)條)
ASP.Net的GridView本身不帶滾動(dòng)條,可通過Panel實(shí)現(xiàn)。但是Windows自帶的橫向滾動(dòng)條只支持顯示在下方,為了使用方便,需要在上下方都顯示橫向滾動(dòng)條。2011-02-02jquery Ajax 全局調(diào)用封裝實(shí)例詳解
這篇文章主要介紹了jquery Ajax 全局調(diào)用封裝實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-01-01基于json的jquery地區(qū)聯(lián)動(dòng)效果代碼
貼一個(gè)基于jquery聯(lián)動(dòng)的代碼,相信這樣的代碼有一大把,就當(dāng)是jquery的練手吧2011-07-07基于JQuery實(shí)現(xiàn)圖片上傳預(yù)覽與刪除操作
這篇文章主要為大家詳細(xì)介紹了基于JQuery實(shí)現(xiàn)圖片上傳預(yù)覽與刪除操作的相關(guān)代碼,感興趣的小伙伴們可以參考一下2016-05-05jQuery Ajax提交表單查詢獲得數(shù)據(jù)實(shí)例代碼
用戶輸入一個(gè)表單,輸入準(zhǔn)考證和驗(yàn)證碼,驗(yàn)證用戶是否輸入表單,點(diǎn)擊查詢提交,然后從服務(wù)器得到返回的數(shù)據(jù)并顯示出來2012-09-09有關(guān)easyui-layout中的收縮層無法顯示標(biāo)題的解決辦法
本文由腳本之家小編給大家介紹有關(guān)easyui-layout中的收縮層無法顯示標(biāo)題的原因分析及解決辦法,感興趣的朋友可以參考下2016-05-05