ajax请求后台得到json数据后动态生成树形下拉框的方法
如下所示:
<select id="cc" class="easyui-combotree" style="width:580px;" name="rempId" data-options="required:true"></select>
<script> $(function(){ $.ajax({ url:"departmentAction_getAllDep.action", type:"post", success:function(result){ //console.log(result); $("#cc").combotree('loadData',b1(result)); } }); $("#cc").combotree({ animate:true, //选择树节点触发事件 onSelect : function(node) { n = node; //返回树对象 var tree = $(this).tree; //选中的节点是否为叶子节点,如果不是叶子节点,清除选中 var isLeaf = tree('isLeaf', node.target); if (!isLeaf) { //清除选中 $("#cc").combotree('clear'); } } }); }); var tree = { id:'', text:'', state:'', checked:'', iconCls:'', attributes:'', children:'' } function b1(result){ var t = []; $.each(result,function(index,dept){ t[index] = b2(dept); }); return t; } function b2(dept){ var tree = new Object(); tree.id = dept.depId; tree.text = dept.depName; tree.state = 'closed'; tree.checked = 'false'; if(dept.employees.length != 0){ tree.children = b3(dept.employees); }else{ tree.children = []; } return tree; } function b3(employees){ var easyTree = []; $.each(employees,function(index,item){ easyTree[index] = b4(item); }); return easyTree; } function b4(item){ var tree = new Object(); tree.id = item.empId; tree.text = item.empName; if(item.empSex == "男"){ tree.iconCls = 'icon-nan'; }else{ tree.iconCls = 'icon-female'; } return tree; } </script>
department表中的dept_id作为employee表中有的外键,生成的Department.java类中有Set<employee>对象。从后台查询部门表,得到List<Department>集合,通过struts2配置:
<action name="departmentAction_*" class="com.chinasoft.action.DepartmentAction" method="{1}"> <result name="getAllDep" type="json"> <param name="root">list</param> </result> </action>
转成json格式后,传到jsp页面,在前台页面中处理json数据,动态生成下拉树。
以上这篇ajax请求后台得到json数据后动态生成树形下拉框的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
上一篇:layui的checbox在Ajax局部刷新下的设置方法
栏 目:AJAX相关
下一篇:没有了
本文标题:ajax请求后台得到json数据后动态生成树形下拉框的方法
本文地址:https://www.xiuzhanwang.com/a1/AJAXxiangguan/11308.html
您可能感兴趣的文章
- 01-11layui的checbox在Ajax局部刷新下的设置方法
- 01-11ajax获得json对象数组 循环输出数据的方法
- 01-11解决ajax请求后台,有时收不到返回值的问题
- 01-11详谈ajax返回数据成功 却进入error的方法
- 01-11解决AJAX返回状态200没有调用success的问题
- 01-11快速解决ajax返回值给外部函数的问题
- 01-11Ajax实现动态显示并操作表信息的方法
- 01-11ajax实现从后台拿数据显示在HTML前端的方法
- 01-11ajax动态查询数据库数据并显示在前台的方法
- 01-11ajax异步读取后台传递回的下拉选项的值方法
阅读排行
本栏相关
- 01-11layui的checbox在Ajax局部刷新下的设置方
- 01-11ajax请求后台得到json数据后动态生成树
- 01-11ajax获得json对象数组 循环输出数据的
- 01-11解决ajax请求后台,有时收不到返回值的
- 01-11详谈ajax返回数据成功 却进入error的方
- 01-11解决AJAX返回状态200没有调用success的问
- 01-11快速解决ajax返回值给外部函数的问题
- 01-11Ajax实现动态显示并操作表信息的方法
- 01-11ajax实现从后台拿数据显示在HTML前端的
- 01-11ajax动态查询数据库数据并显示在前台
随机阅读
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 01-10delphi制作wav文件的方法
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 01-10使用C语言求解扑克牌的顺子及n个骰子
- 01-10C#中split用法实例总结
- 04-02jquery与jsp,用jquery
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 01-11ajax实现页面的局部加载
- 01-10SublimeText编译C开发环境设置
- 08-05织梦dedecms什么时候用栏目交叉功能?