jstree選択中性子ノード選択親ノードをカスケードしない
1173 ワード
詳細
jstree3.3.3デフォルトでは、子ノードを選択すると親ノードが選択されます.この機能を削除するには、ソースコードを次のように変更します.
コメント:
5050~5079行のコード.
jstree3.3.3デフォルトでは、子ノードを選択すると親ノードが選択されます.この機能を削除するには、ソースコードを次のように変更します.
コメント:
5050~5079行のコード.
// apply up
if(s.indexOf('up') !== -1) {
while(par && par.id !== $.jstree.root) {
c = 0;
for(i = 0, j = par.children.length; i < j; i++) {
c += m[par.children[i]].state[ t ? 'selected' : 'checked' ];
}
if(c === j) {
par.state[ t ? 'selected' : 'checked' ] = true;
sel[par.id] = true;
//this._data[ t ? 'core' : 'checkbox' ].selected.push(par.id);
tmp = this.get_node(par, true);
if(tmp && tmp.length) {
tmp.attr('aria-selected', true).children('.jstree-anchor').addClass(t ? 'jstree-clicked' : 'jstree-checked');
}
}
else {
break;
}
par = this.get_node(par.parent);
}
}
cur = [];
for (i in sel) {
if (sel.hasOwnProperty(i)) {
cur.push(i);
}
}
this._data[ t ? 'core' : 'checkbox' ].selected = cur;