ztree强行异步加载2

本文介绍了zTree中实现异步加载的方法,包括配置项设置、回调函数定义及节点刷新等关键步骤。通过实例展示了如何根据不同的父节点动态加载子节点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ztree进行异步加载就是靠传入参数的不同来对不同子、父节点进行判断的,从后台返回不同的json串。进行展示。

var setting = {

view: {

selectedMulti: false

},

data: {

simpleData: {

enable:true,

idKey: "id",

pIdKey: "pId",

rootPId: ""

}

},

async: {

enable: true,

url:"s",  //通过URL进行访问

autoParam:["id"],  //动态参数,选择不同父节点进行加载的时候,传的是父节点的值

otherParam:{"otherParam":"zTreeAsyncTest"},

dataFilter: filter

},

callback: {

beforeClick: beforeClick,

beforeAsync: beforeAsync,

onAsyncError: onAsyncError,

onAsyncSuccess: onAsyncSuccess

}

};

 

function filter(treeId, parentNode, childNodes) {

if (!childNodes) return null;

for (var i=0, l=childNodes.length; i<l; i++) {

childNodes[i].name = childNodes[i].name.replace(/\.n/g, '.');

}

return childNodes;

}

 

function beforeClick(treeId, treeNode) {

if (!treeNode.isParent) {

alert("请选择父节点");

return false;

} else {

return true;

}

}

 

function beforeAsync(treeId, treeNode) {

return true;

}

 

function onAsyncError(event, treeId, treeNode, XMLHttpRequest, textStatus, errorThrown) {

 

}

 

function onAsyncSuccess(event, treeId, treeNode, msg) {

alert(treeId);

alert(msg);

}

 

function refreshNode() {

var zTree = $.fn.zTree.getZTreeObj("treeDemo"),    //取得ztree的对象,就是根节点的对象

nodes = zTree.getSelectedNodes();  //取得所有的父节点

alert(nodes.length);

if (nodes.length == 0) {

alert("请先选择一个父节点");

}

for (var i=0, l=nodes.length; i<l; i++) {

zTree.reAsyncChildNodes(nodes[i], "add", false);  

 

 

强行异步加载父节点的子节点。[setting.async.enable = true 时有效]

已经加载过的父节点可反复使用此方法重新加载。

请通过 zTree 对象执行此方法。

Function 参数说明

 

parentNodeJSON

指定需要异步加载的父节点 JSON 数据

1、parentNode = null 时,相当于从根节点 Root 进行异步加载

2、parentNode.isParent = false 时,不进行异步加载

3、请务必保证此节点数据对象 是 zTree 内部的数据对象

reloadTypeString

reloadType = "refresh" 表示清空后重新加载。

reloadType != "refresh" 时,表示追加子节点处理。

isSilentBoolean

设定异步加载后是否自动展开父节点。

isSilent = true 时,不展开父节点,其他值或缺省状态都自动展开。

返回值

目前无任何返回值

 

}

}

 

$(document).ready(function(){

$.fn.zTree.init($("#treeDemo"), setting);

$('button').click(function(){

refreshNode();

});

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值