jstree默认选中某个父节点问题

qq_20898003 2016-03-31 03:28:47
这是我现在 的tree,我要做的是,从其他页面跳过来,根据参数(1、2、3)默认选中某个节点。坐等。谢谢了啊。比如现在传过来一个3,就默认选中第三个
...全文
2176 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_20898003 2016-04-01
  • 打赏
  • 举报
回复
还是不行啊。checked:true.还是没反应前台接收的数据没问题
qq_20898003 2016-04-01
  • 打赏
  • 举报
回复
1.0的,我的天呐。api都不好找
Go 旅城通票 2016-04-01
  • 打赏
  • 举报
回复
自己看源代码,肯定是好早的版本了。自己看api添加什么属性才能选中
qq_20898003 2016-04-01
  • 打赏
  • 举报
回复
不知道啊。没写什么版本的啊。
Go 旅城通票 2016-04-01
  • 打赏
  • 举报
回复
你什么版本的jstree,我这里3.0的没有json_data这种配置
qq_20898003 2016-03-31
  • 打赏
  • 举报
回复
function showJsTree(id,operator,name){
$(id).jstree({
"themes": {
// "theme": "apple",
"dots" : true,
"icons" : true
},
"json_data": {
"ajax": {
"url": 'CompetitionMarkTypeMenuTree.action',
"async": true,
"data": function(n){
return {
// "operator" : operator,
//"name" : name
};
},
"success": function(d){
d[0].state.selected = false;
d[1].state.selected = false;
d[2].state.selected = false;
d[3].state.selected = false;
},
"error": function(e){
alert("数据加载错误!");
}
},
"progressive_render" : true

},
"types": {
"max_depth" : -1,
"max_children" : -1,
"valid_children" : "none",
"types" : {
"leaf" : {
"valid_children" : "none",
"icon" : {
"image" : "./images/icons/16x16/page.gif"
}
}
}
},
"plugins" : [ "themes", "json_data", "types", "search","ui", "crrm"]

})
.bind("select_node.jstree",function(event,data){
debugger;
var mObj = $("#markMenuDiv").jstree("get_path",data.rslt.obj);
if(null!=mObj){
$('#type').val($.trim(mObj[0]));
if(mObj.length>1){
$('#subType').val($.trim(mObj[1]));
}else{
$('#subType').val("");
}
}
allQuery();
})
.bind("open_node.jstree",function (event, data){
//data.inst.select_node("#composite-pic-tabs-1", true);
});
}


我把后台数据都改为 selected ;true 然后前台接收的时候把前4个都改为false了 留了一个 但是还不行。debug里看了 数据没问题
qq_20898003 2016-03-31
  • 打赏
  • 举报
回复
你上面的那种方法我试了不行啊。selected:true,还是没选中
qq_20898003 2016-03-31
  • 打赏
  • 举报
回复
啊啊啊,我这个业务逻辑比较复杂。如果中页面写死该怎么写啊
Go 旅城通票 2016-03-31
  • 打赏
  • 举报
回复
引用 4 楼 qq_20898003 的回复:
我这个树形只有父节点,没有子节点。应该在哪配啊。谢谢你了。
一样啊,你只要在街店里面增加{ "selected" : true } [{"text":"aaa","attr":{"id":"1"},"state":{"opened":true}} ,{"text":"bbb","attr":{"id":"1"},"state":{"opened":true}} ,{"text":"cccc","attr":{"id":"1"},"state":{ "selected" : true }}] 这样就会选中cccc
qq_20898003 2016-03-31
  • 打赏
  • 举报
回复
我这个树形只有父节点,没有子节点。应该在哪配啊。谢谢你了。
Go 旅城通票 2016-03-31
  • 打赏
  • 举报
回复
从服务器端来的,你要选择哪个节点,要给那个节点增加{ "selected" : true }这个配置

[{"text":"aaa","attr":{"id":"1"},"state":{"opened":true},"children":[{"text":"bbb","attr":{"id":"2"}
,"state":{"opened":true,"selected" : true }}]}]


qq_20898003 2016-03-31
  • 打赏
  • 举报
回复
没太明白,html页面都是从后台读数据生成的,现在跳过来可以对上了就是左侧的树形没有选中。,现在跳过来了也找到对应的页面了就是tree样式没选中
Go 旅城通票 2016-03-31
  • 打赏
  • 举报
回复
服务器端的生成数据源增加, "state" : { "selected" : true }就好了, 如果是html代码生成的,再调用api前给指定节点增加data-jstree配置{ "selected" : true }
                        <div id="jstree3" class="demo" style="margin-top:2em;">
                            <ul>
                                <li>Root node 1</li>
                                <li><a href="http://www.jstree.com">Root node 2</a></li>
                            </ul>
                        </div>
				<script>
                            var index = 1;
                            $('#jstree3').find('li:eq(' + index + ')').attr('data-jstree', '{ "selected" : true }').end().jstree();
				</script>

87,921

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧