Das Beispiel in diesem Artikel beschreibt die Methode des JQuery-Abrufs von JSON-Daten, um eine Kaskadierung von Provinzen und Städten zu erreichen. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Die Verwendung von jQuery Mobile als Framework für die Erstellung mobiler Websites erfordert die Realisierung der Funktion der Kaskadierung von Provinzen und Städten. Der spezifische Code lautet wie folgt (es gibt noch Bereiche, die optimiert werden müssen):
Html-Code:
In jQuery Mobile gibt es ein Eingabelistenattribut, gefolgt vom Tag Äquivalent dazu, dass die Eingabe vorhanden ist. Für die Funktion der Dropdown-Liste muss der Name der Eingabeliste natürlich mit der ID in der Datenliste übereinstimmen.
<input id="province" list="prvlist" placeholder="省/自治区/直辖市" onblur="changeProvince();"> <datalist id="prvlist"> </datalist> <input id="city" list="citylist" placeholder="市" onblur="changeCity();"> <datalist id="citylist"> </datalist> <input id="area" list="arealist" placeholder="区"> <datalist id="arealist"> </datalist>
JS-Code:
JS-Code, Hauptfunktionen
1. JSON-Daten extrahieren und an die Provinz-Dropdown-Liste binden
2. Nachdem die Provinzeingabe ausgewählt wurde, wird die Gemeindeliste automatisch gebunden
3. Die Dropdown-Liste auf Bezirksebene ist die gleiche wie auf Stadtebene
<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>
Der Code sollte weiter optimiert werden, also speichern Sie den Code vorerst.