>웹 프론트엔드 >JS 튜토리얼 >지방 및 도시 cascading_jquery를 실현하기 위해 json 데이터를 검색하는 jquery 방법

지방 및 도시 cascading_jquery를 실현하기 위해 json 데이터를 검색하는 jquery 방법

WBOY
WBOY원래의
2016-05-16 16:17:121811검색

이 기사의 예에서는 jquery가 json 데이터를 검색하여 지방 및 도시 캐스케이딩을 달성하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 내용은 다음과 같습니다.

jQuery 모바일을 모바일 웹 제작을 위한 프레임워크로 사용하려면 지방 및 도시 캐스케이딩 기능을 구현해야 합니다. (아직 최적화가 필요한 부분이 있습니다.)

HTML 코드:

jQuery 모바일에는 입력 목록 속성이 있고 그 뒤에 9d6d8dbb2ea8c7004513730b9c6a2e564afa15d3069109ac30911f04c56f3338 태그가 있습니다. 물론 드롭다운 목록 기능의 경우 입력 목록 이름이 데이터 목록의 ID와 일치해야 합니다.

<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 코드:

js 코드, 주요 기능

1. json 데이터를 추출하여 지역 드롭다운 목록에 바인딩합니다

2. 시/도 입력을 선택하면 시/도 목록이 자동으로 바인딩됩니다.

3. 구역 수준 드롭다운 목록은 도시 수준과 동일합니다

<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>

코드는 더욱 최적화되어야 하므로 지금은 코드를 저장해 두세요.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.