前端:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<!-- 此处省略js样式文件 -->
</head>
<script type="text/javascript">
$(document).ready(function(){
$.post('getListAreaMgt.jhtml',{parentId,parentId},function(data){
var ary = new Array();
$(".xzqy").empty();
$(".xzqy").append('<option value="">'+"--请选择--"+'</option>');
if(data!=null){
for(var i=0;i<data.length;i++){
$(".xzqy").append('<option value="'+data[i].id+'" >'+data[i].name+'</option>');
}
}else{
alert("数据加载错误!");
}
});
});
</script>
<script type="text/javascript">
$(".xzqy").bind("change",function(){
var dataname = $(this).val();
$.post("",{"dataname":dataname},function(data){
if(data){
layer.msg("修改成功");
}else{
}
})
});
</script>
<body><div id="forlogin">
<form id="inputForm" name="inputForm" action="" method="post">
<table class="input">
<tr>
<th>行政区域:</th>
<td>
<select id="xzqy" name="" class="xzqy" >
</select>
</td>
</tr>
<tr>
<td align="left" style="padding-left:160px;"><input type="submit" value="提交" class="submit" /></td>
</tr>
</table>
</form>
</div></body>
</html>
controller:调用工具类的方法
下面是工具类:
public class diguitree {
/*@RequestMapping("getAreaData")
public Map<String, Object> getAreaData(Long id) {
Map<String, Object> map = new HashMap<>();
try {
Area province = dao.findProvince(id); //查询出一个省
if (province != null) {
List<Area> citys = dao.findChildren(province.getId());//查询省下面的所有市
digui(citys); //调用递归算法查询市以下的区县 可以考虑是否有乡镇村等下级
province.setChildren(citys);
}
map.put("data", province);
} catch (Exception e) {
e.printStackTrace();
}
return map;
}*/
/*public void digui(List<Area> area) {
List<Area> list= new ArrayList<>();
for (Area c : area) {
retList = dao.findChildren(c.getId());
if (list.size() > 0) {
c.setChildren(retList);
digui(list); //循环调用自己
}
}
}*/
}
n
注意:没有把实体类加上:其中有可以参考的地方,我用这种方法写过,后来使用插件改良:
注意get,set 方法试题类下一级的值,有层级关系。