解析jquery easyui tree异步加载子节点问题
easyui中的树可以从标记中建立,也可以通过指定一个URL属性读取数据建立。如果想建立一棵异步树,需要为每个节点指定一个id属性值,这样在加载数据时会自动向后台传递id参数。
<ul id="tt"></ul>
编写前台代码:
$('#tt').tree({
url:'/demo2/node/getNodes' // The url will be mapped to NodeController class and getNodes method
});
为测试用,建立一个节点的数据模型:
@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);
}
}
官网例子地址: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后面用一个变量来做时间戳处理。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
浅谈jquery.form.js的ajaxSubmit和ajaxForm的使用
下面小编就为大家带来一篇浅谈jquery.form.js的ajaxSubmit和ajaxForm的使用。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-09-09
EasyUI的doCellTip实现鼠标放到单元格上提示单元格内容
本篇文章主要介绍了easyUI的doCellTip 就是鼠标放到单元格上有个提示的功能,对于Javascript教程感兴趣的同学可以参考一下2016-08-08
EasyUI Combobox设置默认值 获取text的方法
这篇文章主要介绍了EasyUI Combobox设置默认值 获取text的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下2016-11-11
jQuery Form 表单提交插件之formSerialize,fieldSerialize,fieldValue,r
这篇文章主要介绍了jQuery Form 表单提交插件之formSerialize,fieldSerialize,fieldValue,resetForm,clearForm,clearFields的应用的相关资料,需要的朋友可以参考下2016-01-01


最新评论