select-address.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. // 微信端
  2. //<link rel="stylesheet" type="text/css" href="../../../css/mui.picker.css">
  3. //<script type="text/javascript" src="../../../js/mui.picker.js"></script>
  4. //定义弹窗
  5. function toast(msg){
  6. dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:msg}).show()
  7. }
  8. function initExpressAddr($this){
  9. picker = new mui.PopPicker({
  10. layer: 2,
  11. layerNames: ["省","市"]
  12. })
  13. //获取省份信息
  14. getDistrict(1, '', 0);
  15. bindPickerEvent($this);
  16. }
  17. //绑定picker的事件
  18. function bindPickerEvent($this){
  19. $(picker.pickers[0].holder).on('change', function(event) {
  20. var eventData = event.originalEvent.detail || {},
  21. item = eventData.item;
  22. if(!item || !item.value) {
  23. return ;
  24. }
  25. //获取市信息
  26. getDistrict(2,item.value, 1);
  27. })
  28. //选择地址下拉框
  29. $this.on('click', function(){
  30. picker.show(function(selected){
  31. $this.attr('data-province',selected[0].value);
  32. $this.attr('data-city',selected[1].value);
  33. $this.attr('data-provinceName',selected[0].text);
  34. $this.attr('data-cityName',selected[1].text);
  35. $this.val(selected[0].text+selected[1].text);
  36. })
  37. })
  38. }
  39. /**
  40. * 获得省市区数据
  41. * @param {number} type 1-省,2-市,3-区
  42. * @param {string} code 省市对应的code
  43. * @param {number} level 对应下拉框对应的列 0-省,1-市,2-区
  44. */
  45. function getDistrict(type, code, level){
  46. var url = 'common/district',
  47. params = {type: type, code: code};
  48. sendPost(url,params,'json','post',function(){
  49. toast('请求失败')
  50. },function(res){
  51. if(res.status == 200){
  52. var data = $.map(res.list, function(o){
  53. return {
  54. value: o.code,
  55. text: o.name
  56. }
  57. });
  58. picker.pickers[level].setItems(data);
  59. }else{
  60. toast('请求地址信息失败')
  61. }
  62. })
  63. }