var url = 'mkController.do?getYsszmkTree&ysid=${ysid}&type=${type}';
var treeData;
$.ajax({
async : false,
cache : false,
type: 'POST',
url:url,
success:function(data){
treeData = $.parseJSON(data);
}
});
//$.tree 中url参数未指定时,加载的树在首次展开时无效,
//要在第二次展开时才会加载子节点的数据.具体原因?
$('#mktree').tree({
animate : true,
checkbox:true,
onlyLeafCheck:true,
//url:url,
data:treeData,
onContextMenu: function(e,node){
e.preventDefault();
$(this).tree('select',node.target);
$('#mm').menu('show',{
left: e.pageX,
top: e.pageY
});
},
onClick : function(node) {
//alert(node.attributes.pid+"=============="+node.attributes.mk);
$('#mktree').tree('expand',node.target);
//$('#zbxxpanle').html('<iframe frameborder=0 width=100% height=100% src="mkController.do?typeList&typegroupid='+node.id+'"</iframe>');
//var url="mkController.do?mk&typegroupid="+node.id;
var url="mkController.do?addorupdateRead&id="+node.id;
$('#ifr_id').attr("src",url);
},
onExpand:function(node){
url = 'mkController.do?getYsszmkTree&ysid=${ysid}&type=${type}';
var dwid = node.attributes['dwid'];
if(dwid==null || dwid=='' || dwid=='null'){
url+='&nodeId='+node.id+'&nodeType='+node.attributes['key'];
}else{
url+='&nodeId='+node.id+'_'+dwid+'&nodeType='+node.attributes['key'];
}
$.ajax({
async : false,
cache : false,
type: 'POST',
url:url,
success:function(data){
treeData = $.parseJSON(data);
}
});
var childData = $("#mktree").tree('getChildren',node.target);
for(var i=0;i<childData.length;i++){
$("#mktree").tree('remove',childData[i].target);
}
$("#mktree").tree('append',
{parent:(node?node.target:null),
data:treeData});
}
});
$.tree的参数说明:
属性
名称 | 类型 | 说明 | 默认值 |
url | string | 获取远程数据的 URL。 | null |
method | string | 获取数据的http method 。 | post |
animate | boolean | 定义当节点展开折叠时是否显示动画效果。 | false |
checkbox | boolean | 定义是否在每个节点前边显示checkbox 。 | false |
cascadeCheck | boolean | 定义是否级联检查。 | true |
onlyLeafCheck | boolean | 定义是否只在叶节点前显示checkbox 。 | false |
dnd | boolean | 定义是否启用拖放。 | false |
data | array | 加载的节点数据。 | null |
事件
很多事件的回调函数需要'node' 函数,它包含下列特性:
- id:绑定到节点的标识值。
- text:显示的文字。
- checked:是否节点被选中。
- attributes:绑定到节点的自定义属性。
- target:目标的 DOM 对象。
名称 | 参数 | 说明 |
onClick | node | 当用户点击一个节点时触发,node 参数包含下列特性: |
onDblClick | node | 当用户双击一个节点时触发。 |
onBeforeLoad | node, param | 当加载数据的请求发出前触发,返回 false就取消加载动作。 |
onLoadSuccess | node, data | 当数据加载成功时触发。 |
onLoadError | arguments | 当数据加载失败时触发,arguments 参数与jQuery.ajax的'error'函数一样。. |
onBeforeExpand | node | 节点展开前触发,返回 false就取消展开动作。 |
onExpand | node | 当节点展开时触发。 |
onBeforeCollapse | node | 节点折叠前触发,返回 false就取消折叠动作。 |
onCollapse | node | 当节点折叠时触发。 |
onCheck | node, checked | 当用户点击checkbox时触发。 |
onBeforeSelect | node | 节点被选中前触发,返回 false就取消选择动作。 |
onSelect | node | 当节点被选中时触发。 |
onContextMenu | e, node | 当右键点击节点时触发。 |
onDrop | target, source, point | 当节点被拖拽施放时触发。 |
onBeforeEdit | node | 编辑节点前触发。 |
onAfterEdit | node | 编辑节点后触发。 |
onCancelEdit | node | 当取消编辑动作时触发。 |
方法
名称 | 参数 | 说明 |
options | none | 返回树的 options。 |
loadData | data | 加载树的数据。 |
getNode | target | 获取指定的节点对象。 |
getData | target | 获取指定的节点数据,包括它的子节点。 |
reload | target | 重新加载树的数据。 |
getRoot | none | 获取根节点,返回节点对象。 |
getRoots | none | 获取根节点们,返回节点数组。 |
getParent | target | 获取父节点, target参数指节点的 DOM对象。 |
getChildren | target | 获取子节点, target参数指节点的 DOM对象。 |
getChecked | none | 获取所有选中的节点。 |
getSelected | none | 获取选中的节点并返回它,如果没有选中节点,就返回 null。 |
isLeaf | target | 把指定的节点定义成叶节点,target 参数表示节点的 DOM对象。 |
find | id | 找到指定的节点并返回此节点对象。 |
select | target | 选中一个节点, target参数表示节点的 DOM对象。 |
check | target | 把指定节点设置为勾选。 |
uncheck | target | 把指定节点设置为未勾选。 |
collapse | target | 折叠一个节点, target参数表示节点的 DOM对象。 |
expand | target | 展开一个节点, target参数表示节点的 DOM对象。 |
collapseAll | target | 折叠所有的节点们。 |
expandAll | target | 展开所有的节点们。 |
expandTo | target | 从指定节点的根部展开。 |
append | param | 追加一些子节点们到一个父节点, param参数有两个特性: |
toggle | target | 切换节点的展开/折叠状态,target 参数表示节点的 DOM对象。 |
insert | param | 在指定节点的前边或后边插入一个节点,param参数包含下列特性: |
remove | target | 移除一个节点和它的子节点们,target 参数表示节点的DOM 对象。 |
pop | target | 弹出一个节点和它的子节点们,此方法和 remove一样,但是返回了移除的节点数据。 |
update | param | 跟心指定的节点, param参数有下列特性: |
enableDnd | none | 启用拖放功能。 |
disableDnd | none | 禁用拖放功能。 |
beginEdit | nodeEl | 开始编辑节点。 |
endEdit | nodeEl | 结束编辑节点。 |
cancelEdit | nodeEl | 取消编辑节点。 |