1
tree.on('checkchange', function(node, checked) {
2
selParent(node, checked);
3
selChild(node, checked);
4
}, tree);
5
//這個方法是選擇父節點,自動選中所有的子節點
6
function selParent(node, checked) {
7
checked ? node.expand() : node.collapse();
8
if (node.hasChildNodes()) {
9
node.eachChild(function(child) {
10
child.attributes.checked = checked;
11
var cb = child.ui.checkbox;
12
if (cb) cb.checked = checked;
13
selParent(child, checked);
14
});
15
}
16
}
17
18
//這個方法是選擇子節點,自動選中父節點的父節點
19
function selChild(node, checked) {
20
if (checked) {
21
node.expand();
22
var parentNode = node.parentNode;
23
if (parentNode != undefined) {
24
parentNode.attributes.checked = checked;
25
var cb = parentNode.ui.checkbox;
26
if (cb) cb.checked = checked;
27
selChild(parentNode, checked);
28
}
29
}
30
}

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30
