2017-01-17 52 views
0

ブートストラップツリービューのノードは+ & - プレフィックスでのみ折りたたまれ/展開されます。私はクリック事象がより少ない事件のために保存されることを理解する。クリックイベントを使用して、リーフに関する情報をページの他の部分に送信します。ブートストラップツリービューからonNodeSelected内でexpandNodeを実装する方法は?

私のクライアントは正確にこれを望んでいます:li要素をクリックすると崩壊&が展開します。実際には、よりユーザーフレンドリーで直感的です。

GitHubに「expandNode」と「collapseNode」というメソッドが見つかりました。

$('#treeview').treeview({ 
 
    data: data, 
 
    multiSelect: true, 
 
    highlightSelected: false, 
 
    onNodeSelected: function(event, node) { 
 
    if (node.nodes == undefined) { 
 
     // sends node info to another element 
 
    } else if (node.state.expanded) { 
 
     // TODO collapse children 
 
     collapseNode(node.nodeId); 
 
    } else { 
 
     // TODO expand children 
 
     expandNode(node.nodeId); 
 
    } 
 
    } 
 
}); 
 

 
function collapseNode(nodeId) { 
 
    $('#tree').treeview('collapseNode', [nodeId]); 
 
    alert("collapse " + nodeId); 
 
} 
 

 
function expandNode(nodeId) { 
 
    $('#tree').treeview('expandNode', [nodeId]); 
 
    alert("expand " + nodeId); 
 
}

アラートがtriggedされ、正しいノードを示しています。

$('#tree').treeview('expandNode', [nodeId, { 
 
    levels: 2, 
 
    silent: true 
 
}]); 
 
$('#tree').treeview('collapseNode', [nodeId, { 
 
    silent: true, 
 
    ignoreChildren: false 
 
}]);
は今、私は次のように、イベントonNodeSelectedから直接それらを呼び出したいですイド。しかし、ノードは展開されません(または折りたたまれていません)。 私は何が恋しい?

答えて

0

機能で間違ったツリービューを選択しています。次のように更新してください:

function collapseNode(nodeId) { 
    $('#treeview').treeview('collapseNode', [nodeId]); 
    alert("collapse " + nodeId); 
} 

function expandNode(nodeId) { 
    $('#treeview').treeview('expandNode', [nodeId]); 
    alert("expand " + nodeId); 
} 
関連する問題