jsTree checkbox設置級聯

在使用jsTree是,通常爲了方便用戶勾選會使用 three_state 的默認設置(true),若是 three_state:true jsTree會將checkbox.cascade默認爲javascript

// 源碼片斷
if(this.settings.checkbox.three_state) {
	this.settings.checkbox.cascade = 'up+down+undetermined';
}
複製代碼

可是調用check_node()的時候,若是節點有子節點會把子節點一塊兒選中. 能夠臨時將cascade設置爲空,而後設置完勾選以後在設置爲up+down+undeterminedjava

var tree = $('selector').jstree(true);
// 暫時禁用級聯,防止選中父節點後全選子節點
var cascade = tree.settings.checkbox.cascade;
tree.settings.checkbox.cascade = '';
if (typeof nodeIds === 'string') {
    nodeIds = nodeIds.split(',');
}
tree.check_node(nodeIds);
// 恢復級聯
tree.settings.checkbox.cascade = cascade;
複製代碼

若是初始化是將 three_state 設置爲 false ,後面修改 checkbox.cascade 會不生效node

相關文章
相關標籤/搜索