ajax請(qǐng)求后臺(tái)得到j(luò)son數(shù)據(jù)后動(dòng)態(tài)生成樹形下拉框的方法
如下所示:
<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,
//選擇樹節(jié)點(diǎn)觸發(fā)事件
onSelect : function(node) {
n = node;
//返回樹對(duì)象
var tree = $(this).tree;
//選中的節(jié)點(diǎn)是否為葉子節(jié)點(diǎn),如果不是葉子節(jié)點(diǎn),清除選中
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>對(duì)象。從后臺(tái)查詢部門表,得到List<Department>集合,通過(guò)struts2配置:
<action name="departmentAction_*" class="com.chinasoft.action.DepartmentAction" method="{1}">
<result name="getAllDep" type="json">
<param name="root">list</param>
</result>
</action>
轉(zhuǎn)成json格式后,傳到j(luò)sp頁(yè)面,在前臺(tái)頁(yè)面中處理json數(shù)據(jù),動(dòng)態(tài)生成下拉樹。
以上這篇ajax請(qǐng)求后臺(tái)得到j(luò)son數(shù)據(jù)后動(dòng)態(tài)生成樹形下拉框的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Ajax引擎 ajax請(qǐng)求步驟詳細(xì)代碼
- vue項(xiàng)目使用axios發(fā)送請(qǐng)求讓ajax請(qǐng)求頭部攜帶cookie的方法
- 為jquery的ajax請(qǐng)求添加超時(shí)timeout時(shí)間的操作方法
- 通過(guò)Ajax請(qǐng)求動(dòng)態(tài)填充頁(yè)面數(shù)據(jù)的實(shí)例
- 通過(guò)jquery的ajax請(qǐng)求本地的json文件方法
- jQuery中ajax請(qǐng)求后臺(tái)返回json數(shù)據(jù)并渲染HTML的方法
- ajax請(qǐng)求后臺(tái)接口數(shù)據(jù)與返回值處理js的實(shí)例講解
- jquery 通過(guò)ajax請(qǐng)求獲取后臺(tái)數(shù)據(jù)顯示在表格上的方法
- Python基于分析Ajax請(qǐng)求實(shí)現(xiàn)抓取今日頭條街拍圖集功能示例
- 關(guān)于Ajax異步請(qǐng)求后臺(tái)數(shù)據(jù)進(jìn)行動(dòng)態(tài)分頁(yè)功能
- 爬取今日頭條Ajax請(qǐng)求
相關(guān)文章
asp.net 全部選中與取消操作,選中后的刪除(ajax)實(shí)現(xiàn)無(wú)刷新效果
現(xiàn)在我們?cè)诰幊痰臅r(shí)刻總是要利用一些最新的技術(shù)去解決問(wèn)題。。。。下面是我用ajax與jequery結(jié)合在一起使用的一個(gè)實(shí)例。希能給一起學(xué)習(xí)的朋友們帶來(lái)幫助。2009-06-06
探討Ajax中有關(guān)readyState(狀態(tài)值)和status(狀態(tài)碼)的問(wèn)題
這篇文章主要介紹了探討Ajax中有關(guān)readyState(狀態(tài)值)和status(狀態(tài)碼)的問(wèn)題的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06
ajax接收Date類型的數(shù)據(jù)時(shí)會(huì)把數(shù)據(jù)轉(zhuǎn)換為時(shí)間戳
ajax接收Date類型的數(shù)據(jù)時(shí)將會(huì)把數(shù)據(jù)轉(zhuǎn)換為時(shí)間戳,下面是具體的示例,大家可以參考下2014-05-05
通過(guò)Ajax方式上傳文件使用FormData進(jìn)行Ajax請(qǐng)求
這篇文章主要介紹了通過(guò)Ajax方式上傳文件使用FormData進(jìn)行Ajax請(qǐng)求的相關(guān)資料,需要的朋友可以參考下2016-08-08
關(guān)于ajax網(wǎng)絡(luò)請(qǐng)求的封裝實(shí)例
下面小編就為大家?guī)?lái)一篇關(guān)于ajax網(wǎng)絡(luò)請(qǐng)求的封裝實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-07-07

