返回顶部
首页 > 资讯 > 前端开发 > html >ajax请求后台得到json数据后如何动态生成树形下拉框
  • 128
分享到

ajax请求后台得到json数据后如何动态生成树形下拉框

2024-04-02 19:04:59 128人浏览 八月长安
摘要

这篇文章主要介绍了ajax请求后台得到JSON数据后如何动态生成树形下拉框,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。如下所示:<s

这篇文章主要介绍了ajax请求后台得到JSON数据后如何动态生成树形下拉框,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

如下所示:

<select id="cc" class="easyui-combotree"  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数据后如何动态生成树形下拉框”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网html频道,更多相关知识等着你来学习!

--结束END--

本文标题: ajax请求后台得到json数据后如何动态生成树形下拉框

本文链接: https://lsjlt.com/news/67428.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • ajax请求后台得到json数据后如何动态生成树形下拉框
    这篇文章主要介绍了ajax请求后台得到json数据后如何动态生成树形下拉框,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。如下所示:<s...
    99+
    2024-04-02
  • Ajax如何获取php返回json数据动态生成select下拉框
    这篇文章主要介绍Ajax如何获取php返回json数据动态生成select下拉框,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!功能:根据选择不同层次,在专业下拉框中动态生成对应分类的专业。HTML:<label...
    99+
    2023-06-08
  • jQuery中如何实现ajax请求后台返回json数据并渲染HTML
    小编给大家分享一下jQuery中如何实现ajax请求后台返回json数据并渲染HTML,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下...
    99+
    2024-04-02
  • vue如何从后台获取数据生成动态菜单列表
    目录1.数据准备2.选择组件3.配置路由4.不出问题这样就可以实现动态路由了5.完整代码1.数据准备 树形菜单基本数据很简单,只需要菜单id,菜单名称,路由地址,图标。下图中的节点i...
    99+
    2024-04-02
  • 如何解决jquery中ajax请求后台数据成功后既不执行success也不执行error的问题
    这篇文章给大家分享的是有关如何解决jquery中ajax请求后台数据成功后既不执行success也不执行error的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。jquery...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作