jquery調(diào)取json數(shù)據(jù)實現(xiàn)省市級聯(lián)的方法
本文實例講述了jquery調(diào)取json數(shù)據(jù)實現(xiàn)省市級聯(lián)的方法。分享給大家供大家參考。具體如下:
使用jQuery mobile作為創(chuàng)建移動web的框架,需要實現(xiàn)省市級聯(lián)的功能,具體代碼如下(還需要優(yōu)化的地方):
Html代碼:
jQuery mobile中,有input list屬性,下方緊跟<datalist >標簽,中間包含的<option value="XXXX"></option>即為選項,相當于這個input為有下拉列表的功能,當然,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ù),綁定到省級下拉列表內(nèi)
2、省級input選擇好后,市級列表自動綁定
3、區(qū)級下拉列表同市級一樣
<script>
$(function () {
getProvince(); //頁面打開后,省級下拉列表自動綁定
})
//獲取省份
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ōu)化,暫時將代碼保存。
相關文章
自定義一個jquery插件[鼠標懸浮時候 出現(xiàn)說明label]
自定義一個jquery插件,一個簡單的jquery.js,入門的jquery插件,jquery入門實例,jquery helloworld。2011-06-06
利用jQuery來動態(tài)為屬性添加或者刪除屬性的簡單方法
下面小編就為大家?guī)硪黄胘Query來動態(tài)為屬性添加或者刪除屬性的簡單方法。小編覺的挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-12-12
jQuery實現(xiàn)側邊導航欄及滑動電梯效果(仿淘寶)
這篇文章主要介紹了如何利用JQuery+CSS模擬淘寶實現(xiàn)側邊導航欄以及滑動電梯效果,文中的示例代碼講解詳細,感興趣的小伙伴可以動手試一試2022-03-03
jQuery mobile在頁面加載時添加加載中效果 document.ready 和window.onload執(zhí)行順序
這篇文章主要介紹了jQuery mobile在頁面加載時添加加載中效果 document.ready 和window.onload執(zhí)行順序比較,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-07-07

