Commit 2fbb3e469a703216a44da5e726b38bc807cacc81
1 parent
1c83f7a4ce
Exists in
master
修改区域选择JS
Showing 4 changed files with 94 additions and 69 deletions
center.manager/src/main/webapp/WEB-INF/static/js/area.js
View file @
2fbb3e4
| 1 | +function get(id,callback) { | |
| 2 | + $.get(APP.PATH+"/sysRegions/find?id="+id,function(data){ | |
| 3 | + callback(data); | |
| 4 | + }) | |
| 5 | +} | |
| 6 | + | |
| 7 | +//下一个级别 | |
| 8 | +function nextLeve(leve) { | |
| 9 | + var tmp = leve.substring(leve.length-1); | |
| 10 | + var intTmp = parseInt(tmp)+1; | |
| 11 | + return intTmp; | |
| 12 | +} | |
| 13 | + | |
| 14 | + | |
| 15 | +//移除当前列表的后续选项 | |
| 16 | +function remove(leve) { | |
| 17 | + var max = 3; | |
| 18 | + var nextLeveInt = nextLeve(leve); | |
| 19 | + for(var i=nextLeveInt;i<=max;i++) { | |
| 20 | + $("#leve"+i).children().first().nextAll().remove(); | |
| 21 | + } | |
| 22 | +} | |
| 23 | + | |
| 24 | +function handler(data,leveName) { | |
| 25 | + var leve =data==null ? [] : data.records; | |
| 26 | + var nextLeveInt = nextLeve(leveName); | |
| 27 | + if(leve!=null && leve.length>0) { | |
| 28 | + remove(leveName); | |
| 29 | + for(var i=0;i<leve.length;i++) { | |
| 30 | + $("#leve"+nextLeveInt).append("<option id="+leve[i].id+" value="+leve[i].id+">"+leve[i].name+"</option>") | |
| 31 | + } | |
| 32 | + } | |
| 33 | +} | |
| 34 | + | |
| 35 | +function handlerSelect(data,leveName,selectedId) { | |
| 36 | + //console.log(leveName,selectedId) | |
| 37 | + if(selectedId===undefined)return; | |
| 38 | + var leve =data==null ? [] : data.records; | |
| 39 | + var nextLeveInt = nextLeve(leveName); | |
| 40 | + if(leve!=null && leve.length>0) { | |
| 41 | + remove(leveName); | |
| 42 | + for(var i=0;i<leve.length;i++) { | |
| 43 | + var tag = ""; | |
| 44 | + if(leve[i].id===selectedId){ | |
| 45 | + tag = "selected='selected'"; | |
| 46 | + } | |
| 47 | + //console.log(leve[i].id,selectedId,tag) | |
| 48 | + $("#leve"+nextLeveInt).append("<option "+tag+" value="+leve[i].id+">"+leve[i].name+"</option>") | |
| 49 | + } | |
| 50 | + } | |
| 51 | +} | |
| 52 | + | |
| 53 | +//初始信息 | |
| 54 | +get("",function(data){ | |
| 55 | + handler(data,"leve0"); | |
| 56 | + //填充选择信息 | |
| 57 | +}); | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | +$(function(){ | |
| 62 | + | |
| 63 | + $(".leve").bind("change",function(){ | |
| 64 | + var leveId = $(this).attr("id"); | |
| 65 | + var leves = ["leve1","leve2","leve3"]; | |
| 66 | + var thisVal = $(this).val(); | |
| 67 | + var ZERO = "0"; | |
| 68 | + | |
| 69 | + if((leveId === leves[0] || leveId===leves[1]) &&thisVal===ZERO){ | |
| 70 | + remove(leveId); | |
| 71 | + }else{ | |
| 72 | + //获取数据 | |
| 73 | + get(thisVal,function(data){ | |
| 74 | + handler(data,leveId); | |
| 75 | + }) | |
| 76 | + } | |
| 77 | + | |
| 78 | + }); | |
| 79 | + | |
| 80 | +}) |
center.manager/src/main/webapp/WEB-INF/views/common/base_list.html
View file @
2fbb3e4
| ... | ... | @@ -36,71 +36,6 @@ |
| 36 | 36 | <script src="${ctx}/static/js/base/base_table_init.js"></script> |
| 37 | 37 | <script type="text/javascript"> |
| 38 | 38 | $(document).ready(function(){$(".i-checks").iCheck({checkboxClass:"icheckbox_square-green",radioClass:"iradio_square-green",})}); |
| 39 | - | |
| 40 | - | |
| 41 | -$(function(){ | |
| 42 | - | |
| 43 | - function get(id,callback) { | |
| 44 | - $.get(APP.PATH+"/sysRegions/find?id="+id,function(data){ | |
| 45 | - callback(data); | |
| 46 | - }) | |
| 47 | - } | |
| 48 | - | |
| 49 | - //下一个级别 | |
| 50 | - function nextLeve(leve) { | |
| 51 | - var tmp = leve.substring(leve.length-1); | |
| 52 | - var intTmp = parseInt(tmp)+1; | |
| 53 | - return intTmp; | |
| 54 | - } | |
| 55 | - | |
| 56 | - | |
| 57 | - //移除当前列表的后续选项 | |
| 58 | - function remove(leve) { | |
| 59 | - var max = 3; | |
| 60 | - var nextLeveInt = nextLeve(leve); | |
| 61 | - for(var i=nextLeveInt;i<=max;i++) { | |
| 62 | - $("#leve"+i).children().first().nextAll().remove(); | |
| 63 | - } | |
| 64 | - } | |
| 65 | - | |
| 66 | - function handler(data,leveName) { | |
| 67 | - var leve =data==null ? [] : data.records; | |
| 68 | - var nextLeveInt = nextLeve(leveName); | |
| 69 | - | |
| 70 | - if(leve!=null && leve.length>0) { | |
| 71 | - remove(leveName); | |
| 72 | - for(var i=0;i<leve.length;i++) { | |
| 73 | - $("#leve"+nextLeveInt).append("<option id="+leve[i].id+" value="+leve[i].id+">"+leve[i].name+"</option>") | |
| 74 | - } | |
| 75 | - } | |
| 76 | - } | |
| 77 | - | |
| 78 | - //初始信息 | |
| 79 | - get("",function(data){ | |
| 80 | - handler(data,"leve0"); | |
| 81 | - //填充选择信息 | |
| 82 | - }); | |
| 83 | - | |
| 84 | - // | |
| 85 | - $(".leve").bind("change",function(){ | |
| 86 | - var leveId = $(this).attr("id"); | |
| 87 | - var leves = ["leve1","leve2","leve3"]; | |
| 88 | - var thisVal = $(this).val(); | |
| 89 | - var ZERO = "0"; | |
| 90 | - | |
| 91 | - if((leveId === leves[0] || leveId===leves[1]) &&thisVal===ZERO){ | |
| 92 | - remove(leveId); | |
| 93 | - }else{ | |
| 94 | - //获取数据 | |
| 95 | - get(thisVal,function(data){ | |
| 96 | - handler(data,leveId); | |
| 97 | - }) | |
| 98 | - } | |
| 99 | - | |
| 100 | - }); | |
| 101 | - | |
| 102 | -}) | |
| 103 | - | |
| 104 | 39 | </script> |
| 105 | 40 | </body> |
| 106 | 41 | </html> |
center.manager/src/main/webapp/WEB-INF/views/organ/org_edit.html
View file @
2fbb3e4
| ... | ... | @@ -131,10 +131,18 @@ |
| 131 | 131 | </script> |
| 132 | 132 | #end |
| 133 | 133 | #extends("/common/base_list.html") |
| 134 | +<script src="${ctx}/static/js/area.js"></script> | |
| 134 | 135 | <script type="text/javascript"> |
| 135 | - $(function(){ | |
| 136 | - console.log($("#$!org.provinceId")) | |
| 137 | - //$("#$!org.provinceId").attr("selected","selected"); | |
| 138 | - }) | |
| 136 | + //获取所有区县 | |
| 137 | + get("",function(data){ | |
| 138 | + handlerSelect(data,"leve0","$!org.provinceId"); | |
| 139 | + get("$!org.provinceId",function(data){ | |
| 140 | + handlerSelect(data,"leve1","$!org.cityId"); | |
| 141 | + get("$!org.cityId",function(data){ | |
| 142 | + handlerSelect(data,"leve2","$!org.areaId"); | |
| 143 | + }); | |
| 144 | + }); | |
| 145 | + }); | |
| 146 | + | |
| 139 | 147 | </script> |