您的位置:首页 > 产品设计 > UI/UE

easyui tree使用方法

2012-02-24 16:09 337 查看


加载数据

$('#treeul').tree({
checkbox:true,
url:'initTree.aspx',
onLoadSuccess:function(){
//绑定权限
$.ajax({
url:'getId.aspx?id='+v,
cache:false,
dataType:'text',
success:function(data){
var array = data.split(',');
for(var i=0;i<array.length;i++)
{
var node = $('#treeul').tree('find',array[i]);
$('#treeul').tree('check',node.target);
}
}
})
}
});


cache必须设置为false,意思为不缓存当前页,否则更改权限后绑定的权限还是上一次的操作结果.

dataType表示获取服务器发送的数据,"text"表示纯文本

保存选中的节点

$('#savebtn').click(function(){
$.ajax({
url:'nodeHandler.ashx?pnodes='+GetNode('fnode')+ '&cnodes='+GetNode('child') +'&id='+v,
cache:false,
success:function(data){
eval('data='+data);
if(data.success){
alert('保存成功');
window.location.href='Permission.aspx';
}
}
})
});


保存的时候,也必须将cache设置为false

GetNode方法

参数代表:父节点或子节点

function GetNode(type){
var node = $('#treeul').tree('getChecked');
var cnodes='';
var pnodes='';

var prevNode=''; //保存上一步所选父节点
for(var i=0;i<node.length;i++){

if($('#treeul').tree('isLeaf',node[i].target)){
cnodes+=node[i].id+',';

var pnode = $('#treeul').tree('getParent',node[i].target); //获取当前节点的父节点
if(prevNode!=pnode.id) //保证当前父节点与上一次父节点不同
{
pnodes+=pnode.id+',';
prevNode = pnode.id; //保存当前节点
}
}
}
cnodes = cnodes.substring(0,cnodes.length-1);
pnodes = pnodes.substring(0,pnodes.length-1);

if(type=='child'){return cnodes;}
else{return pnodes};
};


绑定tree的时候,只需要绑定子节点就可以了,父节点是根据子节点的状态决定是否选中的。一个父节点有2个子节点,如果我只绑定一个子节点,那么父节点的选择状态就不是“√”,如果2个子节点都有绑定的话,那么父节点的选中状态就是"√"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: