ajax请求后台得到json数据后动态生成树形下拉框的方法 程序员文章站 2022-03-04 16:56:15 如下所示: 如下所示: <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数据后动态生成树形下拉框的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。 相关标签: ajax json 树形 下拉框 上一篇: 掌握AJAX第1/7页 下一篇: 如何使用ajax开发web应用程序第1/2页 推荐阅读 ajax请求后台得到json数据后动态生成树形下拉框的方法 ajax请求后台得到json数据后动态生成树形下拉框的方法