cascade_multiple_street.js 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. /**
  2. * @name jQuery Cascdejs plugin
  3. * @author rayyang
  4. * @version 1.0
  5. * @level 4级
  6. */
  7. //首先需要初始化
  8. var _provinceNetworkData =null;
  9. var _cityNetworkData =null;
  10. var _districtNetworkData =null;
  11. var _streetNetworkData =null;
  12. var datas = [];
  13. function cascdeInit(v1,v2,v3,v4,v5){
  14. getProvinceData(v1,v2,v3,v4,v5);
  15. }
  16. // 获取省数据
  17. function getProvinceData(v1,v2,v3,v4,v5){
  18. datas[v5] = [];
  19. $.ajax({
  20. url:window.sysinfo.get_address,
  21. data:{type:'province'},
  22. type:'GET', //GET
  23. async:true, //或false,是否异步
  24. timeout:5000, //超时时间
  25. dataType:'json', //返回的数据格式:json/xml/html/script/jsonp/text
  26. success:function(data){
  27. datas[v5]['_provinceNetworkData'] = data;
  28. getCityData(v1,v2,v3,v4,v5);
  29. }
  30. })
  31. }
  32. // 获取城市数据
  33. function getCityData(v1,v2,v3,v4,v5){
  34. $.ajax({
  35. url:window.sysinfo.get_address,
  36. data:{type:'city',parentid:v1},
  37. type:'GET', //GET
  38. async:true, //或false,是否异步
  39. timeout:5000, //超时时间
  40. dataType:'json', //返回的数据格式:json/xml/html/script/jsonp/text
  41. success:function(data){
  42. //console.log(data)
  43. datas[v5]['_cityNetworkData'] = data;
  44. getDistrictData(v1,v2,v3,v4,v5);
  45. }
  46. })
  47. }
  48. // 获取区数据
  49. function getDistrictData(v1,v2,v3,v4,v5){
  50. $.ajax({
  51. url:window.sysinfo.get_address,
  52. data:{type:'district',parentid:v2},
  53. type:'GET', //GET
  54. async:true, //或false,是否异步
  55. timeout:5000, //超时时间
  56. dataType:'json', //返回的数据格式:json/xml/html/script/jsonp/text
  57. success:function(data){
  58. //console.log(data)
  59. datas[v5]['_districtNetworkData'] = data;
  60. getStreetData(v1,v2,v3,v4,v5);
  61. }
  62. })
  63. }
  64. // 获取街道
  65. function getStreetData(v1,v2,v3,v4,v5){
  66. $.ajax({
  67. url:window.sysinfo.get_address,
  68. data:{type:'street',parentid:v3},
  69. type:'GET', //GET
  70. async:true, //或false,是否异步
  71. timeout:5000, //超时时间
  72. dataType:'json', //返回的数据格式:json/xml/html/script/jsonp/text
  73. success:function(data){
  74. //console.log(data)
  75. datas[v5]['_streetNetworkData'] = data;
  76. setProvinceData(v1,v2,v3,v4,v5);
  77. }
  78. })
  79. }
  80. // 设置省
  81. function setProvinceData(v1,v2,v3,v4,v5){
  82. var _html = "";
  83. _html += '<option value="0">请选择省份</option>';
  84. _provinceNetworkData = datas[v5]['_provinceNetworkData'];
  85. for (var i = 0; i < _provinceNetworkData.length; i++) {
  86. var _selected = '';
  87. if (v1 == _provinceNetworkData[i].id) {
  88. _selected = 'selected="selected"';
  89. }
  90. _html += '<option '+_selected+' value="'+_provinceNetworkData[i].id+'">'+_provinceNetworkData[i].areaname+'</option>';
  91. }
  92. $("#sel-provance"+v5).html(_html);
  93. setCityData(v1,v2,v3,v4,v5);
  94. }
  95. //设置市
  96. function setCityData(v1,v2,v3,v4,v5){
  97. var _html = '<option value="0">请选择城市</option>';
  98. console.log(_cityNetworkData)
  99. _cityNetworkData = datas[v5]['_cityNetworkData'];
  100. for (var i = 0; i < _cityNetworkData.length; i++) {
  101. var _selected = '';
  102. if (v2 == _cityNetworkData[i].id) {
  103. _selected = 'selected="selected"';
  104. }
  105. _html += '<option '+_selected+' value="'+_cityNetworkData[i].id+'">'+_cityNetworkData[i].areaname+'</option>';
  106. }
  107. $("#sel-city"+v5).html(_html);
  108. setDistrictData(v1,v2,v3,v4,v5);
  109. }
  110. //设置区
  111. function setDistrictData(v1,v2,v3,v4,v5){
  112. var _html = "";
  113. _html += '<option value="0">请选择区域</option>';
  114. _districtNetworkData = datas[v5]['_districtNetworkData'];
  115. for (var i = 0; i < _districtNetworkData.length; i++) {
  116. var _selected = '';
  117. if (v3 == _districtNetworkData[i].id) {
  118. _selected = 'selected="selected"';
  119. }
  120. _html += '<option '+_selected+' value="'+_districtNetworkData[i].id+'">'+_districtNetworkData[i].areaname+'</option>';
  121. }
  122. $("#sel-area"+v5).html(_html);
  123. setStreetData(v1,v2,v3,v4,v5);
  124. }
  125. //设置区
  126. function setStreetData(v1,v2,v3,v4,v5){
  127. var _html = "";
  128. _html += '<option value="0">请选择街道</option>';
  129. _streetNetworkData = datas[v5]['_streetNetworkData'];
  130. for (var i = 0; i < _streetNetworkData.length; i++) {
  131. var _selected = '';
  132. if (v4 == _streetNetworkData[i].id) {
  133. _selected = 'selected="selected"';
  134. }
  135. _html += '<option '+_selected+' value="'+_streetNetworkData[i].id+'">'+_streetNetworkData[i].areaname+'</option>';
  136. }
  137. $("#sel-street"+v5).html(_html);
  138. }
  139. /*
  140. //依据省设置城市,县,街道
  141. */
  142. function selectCity(count) {
  143. var _provanceid = $("#sel-provance"+count).val();
  144. getCityData(_provanceid, '', '', '', count);
  145. setProvinceData(_provanceid, '', '', '', count);
  146. }
  147. function selectcounty(count) {
  148. var _provanceid = $("#sel-provance"+count).val();
  149. var _cityid = $("#sel-city"+count).val();
  150. getCityData(_provanceid,_cityid, '', '', count);
  151. setProvinceData(_provanceid,_cityid, '', '', count);
  152. }
  153. function selectstreet(count) {
  154. var _provanceid = $("#sel-provance"+count).val();
  155. var _cityid = $("#sel-city"+count).val();
  156. var _areaid = $("#sel-area"+count).val();
  157. getDistrictData(_provanceid,_cityid,_areaid, '', count);
  158. setProvinceData(_provanceid,_cityid,_areaid, '', count);
  159. }