转载至:https://blog.csdn.net/wang_song_yan/article/details/49928753
问题背景:
界面使用左侧tree,右侧datagrid的布局。
点击左侧的树节点,右侧显示当前节点下的数据,右侧操作完以后左侧树的数据会发生改变,所以左侧的树需要刷新(reload)。
刷新完以后,树的选中状态没了。
解决办法:
思路:点击左侧树的节点时记录点击的nodeId,加载完以后重新选择该节点。
代码实现:
- var nodeId;
- $(function(){
- $('#tree').tree({
- url:url,
- checkbox:false,
- onClick:function(node){
- nodeId=node.id;
- },
- onLoadSuccess(data){
- if(nodeId!=null){
- var node = $('#tree').tree('find', nodeId);
- $('#tree').tree('expandTo', node.target).tree('select', node.target);
- }
- }
- });
- }) ;
刷新tree的数据:
- $('#tree').tree('reload');
重新选择的代码必须放在onLoadSuccess方法里,否则不起作用