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)文章
Ajax實(shí)現(xiàn)跨域訪問(wèn)最新解決方案
在項(xiàng)目開發(fā)過(guò)程中,我們經(jīng)常會(huì)遇到同一個(gè)域名下不同項(xiàng)目之間通過(guò)Ajax相互調(diào)用數(shù)據(jù),這樣問(wèn)題就來(lái)了,如何通過(guò)Ajax實(shí)現(xiàn)跨域呢?下面腳本之家小編給大家?guī)?lái)了Ajax實(shí)現(xiàn)跨域訪問(wèn)最新解決方案,感興趣的朋友一起看看吧2018-07-07Ajax獲取到數(shù)據(jù)放入echarts里不顯示的原因分析及解決辦法
在做一個(gè)需要用到echarts地圖的項(xiàng)目的時(shí)候,成功通過(guò)ajax獲取到了后臺(tái)提供的數(shù)據(jù),并生成了想要的JSON串。但是,放到echarts option.series[0].data里,獲取不到數(shù)據(jù)。在生成的地圖上無(wú)法看到你從后臺(tái)獲取到的值,下面小編給大家分享我的解決辦法,需要的朋友參考下2016-01-01Ajax實(shí)現(xiàn)動(dòng)態(tài)加載數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了Ajax動(dòng)態(tài)加載數(shù)據(jù)的小例子,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05Axios和Ajax的區(qū)別是什么(詳細(xì)介紹)
ajax技術(shù)實(shí)現(xiàn)了局部數(shù)據(jù)的刷新,axios實(shí)現(xiàn)了對(duì)ajax的封裝,axios有的ajax都有,ajax有的axios不一定有,總結(jié)一句話就是axios是ajax,ajax不止axios,本文對(duì)Axios和Ajax的區(qū)別是什么給大家講解的非常詳細(xì),需要的朋友一起看看吧2023-10-10基于Ajax技術(shù)實(shí)現(xiàn)無(wú)刷新用戶登錄功能
這篇文章主要介紹了基于Ajax技術(shù)實(shí)現(xiàn)無(wú)刷新用戶登錄功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下吧2017-01-01AJAX實(shí)現(xiàn)注冊(cè)驗(yàn)證用戶名
這篇文章主要為大家詳細(xì)介紹了AJAX實(shí)現(xiàn)注冊(cè)驗(yàn)證用戶名,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-03-03