highchecktree是一款使用指定源数据生成带复选框的树形结构的jQuery插件。该树形结构插件对于在大数据的处理上性能十分出色。它使用懒加载的形式来提供性能,子节点会在点击时才去加载数据。
该树形结构插件每个节点都带有一个复选框,复选框允许三种选择状态。
使用方法
在页面中引入jQuery和highchecktree.js以及highchecktree.css文件。
<script src="jquery.min.js"></script> <script src="js/highchecktree.js"></script> <link rel="stylesheet" href="css/highCheckTree.css">
初始化插件
首先要准备好你需要的树形结构数据。
var mockData = []; mockData.push({ item:{ id: 'id1', label: 'label1', checked: false }, children: [{ item:{ id: 'id11', label: 'label11', checked: false } },{ item:{ id: 'id12', label: 'label12', checked: false } },{ item:{ id: 'id13', label: 'label13', checked: false } }] }); mockData.push({ item:{ id: 'id2', label: 'label2', checked: false }, children: [{ item:{ id: 'id21', label: 'label21', checked: false } },{ item:{ id: 'id22', label: 'label22', checked: true } },{ item:{ id: 'id23', label: 'label23', checked: false } }] }); mockData.push({ item:{ id: 'id3', label: 'label3', checked: false }, children: [{ item:{ id: 'id31', label: 'label31', checked: true } },{ item:{ id: 'id32', label: 'label32', checked: false }, children: [{ item:{ id: 'id321', label: 'label321', checked: false } },{ item:{ id: 'id322', label: 'label322', checked: false } }] }] });
然后使用下面的方法来在指定的容器中调用该树形结构插件。
$('#tree-container').highCheckTree({ data: mockData });
回调函数
// 当树节点被展开时触发 onExpand: null, // 当树节点被收缩时触发 onCollapse: null, // 在树节点处于checked状态之前触发 onPreCheck: null, // 在树节点处于checked状态时触发 onCheck: null, // 在树节点处于unchecked状态时触发 onUnCheck: null, // 在鼠标滑过节点标签时触发 onLabelHoverOver: null, // 在鼠标滑出节点标签时触发 onLabelHoverOut: null