600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > ajax使用json下拉框 ajax请求后台得到json数据后动态生成树形下拉框的方法

ajax使用json下拉框 ajax请求后台得到json数据后动态生成树形下拉框的方法

时间:2023-01-26 02:35:52

相关推荐

ajax使用json下拉框 ajax请求后台得到json数据后动态生成树形下拉框的方法

如下所示:

$(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;

}

department表中的dept_id作为employee表中有的外键,生成的Department.java类中有Set对象。从后台查询部门表,得到List集合,通过struts2配置:

list

转成json格式后,传到jsp页面,在前台页面中处理json数据,动态生成下拉树。

以上这篇ajax请求后台得到json数据后动态生成树形下拉框的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。