tools.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. import {provinceList} from './dataDic.js';
  2. module.exports = {
  3. addressInit : function(_cmbProvince, _cmbCity, _cmbArea, defaultProvince, defaultCity, defaultArea)
  4. {
  5. var cmbProvince = document.getElementById(_cmbProvince);
  6. var cmbCity = document.getElementById(_cmbCity);
  7. var cmbArea = document.getElementById(_cmbArea);
  8. function cmbSelect(cmb, str)
  9. {
  10. for(var i=0; i<cmb.options.length; i++)
  11. {
  12. if(cmb.options[i].value == str)
  13. {
  14. cmb.selectedIndex = i;
  15. return;
  16. }
  17. }
  18. }
  19. function cmbAddOption(cmb, str, obj)
  20. {
  21. var option = document.createElement("OPTION");
  22. cmb.options.add(option);
  23. option.innerText = str;
  24. option.value = str;
  25. option.obj = obj;
  26. }
  27. function changeCity()
  28. {
  29. cmbArea.options.length = 0;
  30. if(cmbCity.selectedIndex == -1)return;
  31. var item = cmbCity.options[cmbCity.selectedIndex].obj;
  32. for(var i=0; i<item.areaList.length; i++)
  33. {
  34. cmbAddOption(cmbArea, item.areaList[i], null);
  35. }
  36. cmbSelect(cmbArea, defaultArea);
  37. }
  38. function changeProvince()
  39. {
  40. cmbCity.options.length = 0;
  41. cmbCity.onchange = null;
  42. if(cmbProvince.selectedIndex == -1)return;
  43. var item = cmbProvince.options[cmbProvince.selectedIndex].obj;
  44. for(var i=0; i<item.cityList.length; i++)
  45. {
  46. cmbAddOption(cmbCity, item.cityList[i].name, item.cityList[i]);
  47. }
  48. cmbSelect(cmbCity, defaultCity);
  49. changeCity();
  50. cmbCity.onchange = changeCity;
  51. }
  52. for(var i=0; i<provinceList.length; i++)
  53. {
  54. cmbAddOption(cmbProvince, provinceList[i].name, provinceList[i]);
  55. }
  56. cmbSelect(cmbProvince, defaultProvince);
  57. changeProvince();
  58. cmbProvince.onchange = changeProvince;
  59. },
  60. splitUrl:function(string,i,url){
  61. let theList = [];
  62. let theArr = [];
  63. if ( string ) {
  64. theArr = string.split(i);
  65. theArr.map(function(item,i){
  66. theList.push({
  67. uid:-i,
  68. url: url + item,
  69. response:{
  70. data:item
  71. }
  72. });
  73. });
  74. }
  75. return theList;
  76. }
  77. }