JS无限级导航菜单实现方法
这里使用layui渲染的导航
实体类
dept.java
privateintid;//id privateStringdept_name;//部门名称 privateintpid;//上级部门id privateintsort_num;//排序值 privateintcreate_id;//创建人 privateStringcreate_time;//创建时间 privateintmodify_id;//修改人 privateStringmodify_time;//最后修改时间 privateintis_del;//是否删除0未删除1已删除 privateintstatus;//status privateStringremark;//remark privateListdeptChild=newArrayList<>();//部门迭代
DeptMapper.java
ListselectDeptForJsonMenu();
DeptMapper.xml
SELECT*FROMsys_deptWHEREpid=0ANDis_del=0ORDERBYsort_num select*FROMsys_deptwherepid=#{id}ANDis_del=0ORDERBYsort_num
DeptService.java
publicListselectDeptForJsonMenu(){ returnmapper.selectDeptForJsonMenu(); }
DeptController.java
@RequestMapping(value="selectDeptForJsonMenu",method={RequestMethod.GET,RequestMethod.POST})
@ResponseBody
publicListselectDeptForJsonMenu(){
returnservice.selectDeptForJsonMenu();
}
html引入layui.js,layui.css并加载element模块.
$(function(){
$.ajax({
method:'post',
url:getPath+"dept/selectDeptForJsonMenu",
dataType:'json',
success:function(data){
if(data.length>0){
varshowlist=$('');
showall(data,showlist);
$("#leftMenu").html(showlist);
}else{
$('#leftMenu').html('添加');
}
}
});
//json为json数据
//parent为最终html拼接内容
functionshowall(json,parent){
for(variinjson){
//有子节点遍历
if(json[i].deptChild.length>0){
//创建li
varli=$('');
$(li).append(''+json[i].dept_name+'');
$(li).append('').appendTo(parent);
//将UL选中回调
showall(json[i].deptChild,$(li).children().eq(1));
}
//无子级
else{
$('').append(''+json[i].dept_name+'').appendTo(parent);
}
}
}
});
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接