解析jquery easyui tree異步加載子節(jié)點問題
easyui中的樹可以從標記中建立,也可以通過指定一個URL屬性讀取數(shù)據(jù)建立。如果想建立一棵異步樹,需要為每個節(jié)點指定一個id屬性值,這樣在加載數(shù)據(jù)時會自動向后臺傳遞id參數(shù)。
<ul id="tt"></ul>
編寫前臺代碼:
$('#tt').tree({ url:'/demo2/node/getNodes' // The url will be mapped to NodeController class and getNodes method });
為測試用,建立一個節(jié)點的數(shù)據(jù)模型:
@Table(name="nodes") public class Node extends ActiveRecordBase{ @Id public Integer id; @Column public Integer parentId; @Column public String name; public boolean hasChildren() throws Exception{ long count = count(Node.class, "parentId=?", new Object[]{id}); return count > 0; } }
編寫后臺的控制器代碼:
public class NodeController extends ApplicationController{ /** * get nodes, if the 'id' parameter equals 0 then load the first level nodes, * otherwise load the children nodes * @param id the parent node id value * @return the tree required node json format * @throws Exception */ public View getNodes(int id) throws Exception{ List<Node> nodes = null; if (id == 0){ // return the first level nodes nodes = Node.findAll(Node.class, "parentId=0 or parentId is null", null); } else { // return the children nodes nodes = Node.findAll(Node.class, "parentId=?", new Object[]{id}); } List<Map<String,Object>> items = new ArrayList<Map<String,Object>>(); for(Node node: nodes){ Map<String,Object> item = new HashMap<String,Object>(); item.put("id", node.id); item.put("text", node.name); // the node has children, // set the state to 'closed' so the node can asynchronous load children nodes if (node.hasChildren()){ item.put("state", "closed"); } items.add(item); } return new JsonView(items); } }
官網(wǎng)例子地址:http://www.jeasyui.com/tutorial/tree/tree2.php
demo下載:easyui-tree2_jb51.rar
重要的事情說三遍!!!
$('#tt').tree({ method:"POST", url:'/demo2/node/getNodes' // The url will be mapped to NodeController class and getNodes method });
method一定要用POST,GET的話要在URL后面用一個變量來做時間戳處理。
method一定要用POST,GET的話要在URL后面用一個變量來做時間戳處理。
method一定要用POST,GET的話要在URL后面用一個變量來做時間戳處理。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- EASYUI TREEGRID異步加載數(shù)據(jù)實現(xiàn)方法
- jquery easyui中treegrid用法的簡單實例
- JQuery Easyui Tree的oncheck事件實現(xiàn)代碼
- 使用jQuery+EasyUI實現(xiàn)CheckBoxTree的級聯(lián)選中特效
- 淺談EasyUI中Treegrid節(jié)點的刪除
- EasyUI Tree+Asp.net實現(xiàn)權(quán)限樹或目錄樹導(dǎo)航的簡單實例
- 淺析jQuery EasyUI中的tree使用指南
- Easyui Treegrid改變默認圖標的方法
- EasyUi combotree 實現(xiàn)動態(tài)加載樹節(jié)點
- 采用easyui tree編寫簡單角色權(quán)限代碼的方法
相關(guān)文章
Jquery加載時從后臺讀取數(shù)據(jù)綁定到dropdownList實例
從后臺讀取數(shù)據(jù)綁定到dropdownList,option選項value動態(tài)賦值,具體實現(xiàn)如下,感興趣的朋友可以參考下哈2013-06-06模仿jQuery each函數(shù)的鏈式調(diào)用
模仿jQuery each函數(shù)的鏈式調(diào)用實現(xiàn)代碼。2009-07-07