이 기사의 예에서는 jquery가 json 데이터를 검색하여 지방 및 도시 캐스케이딩을 달성하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 내용은 다음과 같습니다.
jQuery 모바일을 모바일 웹 제작을 위한 프레임워크로 사용하려면 지방 및 도시 캐스케이딩 기능을 구현해야 합니다. (아직 최적화가 필요한 부분이 있습니다.)
HTML 코드:
jQuery 모바일에는 입력 목록 속성이 있고 그 뒤에 태그가 있습니다. 물론 드롭다운 목록 기능의 경우 입력 목록 이름이 데이터 목록의 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>
코드는 더욱 최적화되어야 하므로 지금은 코드를 저장해 두세요.