Heim > Web-Frontend > js-Tutorial > JQuery-Methode zum Abrufen von JSON-Daten, um Cascading_JQuery für Provinz und Stadt zu realisieren

JQuery-Methode zum Abrufen von JSON-Daten, um Cascading_JQuery für Provinz und Stadt zu realisieren

WBOY
Freigeben: 2016-05-16 16:17:12
Original
1809 Leute haben es durchsucht

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

Der Code sollte weiter optimiert werden, also speichern Sie den Code vorerst.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage