Javascript JsTree:显示更多选项

Javascript JsTree:显示更多选项,javascript,jquery,html,css,jstree,Javascript,Jquery,Html,Css,Jstree,有没有办法让在jsTree中显示更多的选项/链接? 我只想显示部分子元素,并且有一个链接可以扩展以显示所有元素。 我尝试了一些谷歌搜索,但找不到解决方案。任何帮助/提示都是有用的 假设父节点1有10个子节点,主根节点有5个父节点 Main Parent - Parent - 1 - child-1 - child-2 - child-3 show 7 more parent-1 elements //LINK - P

有没有办法让
jsTree
中显示更多的
选项/链接?
我只想显示部分子元素,并且有一个链接可以扩展以显示所有元素。
我尝试了一些谷歌搜索,但找不到解决方案。任何帮助/提示都是有用的

假设父节点1有10个子节点,主根节点有5个父节点

Main Parent
    - Parent - 1
        - child-1
        - child-2
        - child-3
        show 7 more parent-1 elements //LINK
    - Parent - 2
        - child-1
        - child-2
    - Parent - 3
        - child-1
        - child-2
    show 2 more Main Parent elements //LINK
我正在努力实现以下结果


这可能吗?有没有可用的插件?
jsTree
是否有支持此功能的替代方案?

您可以使用classes/childElement count来实现此功能。根据您想要显示的内容,您可以使用ID/类来保留要保持可见的元素,或者选择显示/隐藏。同样的原理可以应用于子元素(比如列表中的列表项)和更高的父元素,因此,一旦有了第一个函数,就可以轻松地对其进行调整

我在这里提供了一个列表示例来告诉您这个想法(它是用纯javascript编写的,您可以稍微调整一下。)Jquery会使js变短,但我想知道其中的一般含义总是很好的

var x=document.getElementById(“显示”); //var root=document.getElementsByTagName('body')[0]; var count=x.childElementCount; var btn1=document.getElementById(“ulmore”); btn1.innerHTML=“+Show all”+计数+“li子项”; document.getElementById(“ulmore”).addEventListener(“单击”,显示更多); 函数showmore(){ //var d=document.getElementsByClassName(“tg1”).length; //如果要显示“显示d更多子项”而不是全部子项,请使用d var el=document.getElementsByTagName(“li”); var i; 对于(i=0;i
正文{
填充:1em;
字号:10pt;
}
保险商实验室{
列表样式:无;
宽度:10em;
填充:0px;
}
李{
文本对齐:左对齐;
线高:1.5;
背景:浅蓝色;
边框:1px实心#444;
利润率:1px0px;
填充:2px;
}
跨度{
显示:内联块;
}
div{
显示:内联块;
宽度:100%;
浮动:左;
边距:1米2米1米0米;
}
.tg1{
背景:淡蓝色;
显示:无;
}
.更多{
背景:淡蓝色;
显示:块;
}
/*.tog2{
显示:无;
}
.成长{
背景:黄色;
显示:内联块;
}*/

演示列表
  • 一个
  • 两个
  • 三个 四个 五个 六个 七个 八个
您是否尝试使用“before\u open.jstree”事件来显示所需的树? 请参见示例(我使用了jstree站点中演示页面的一部分):


jstree基本演示
html{margin:0;padding:0;字体大小:62.5%;}
正文{最大宽度:800px;最小宽度:300px;边距:0自动;填充:20px 10px;字体大小:14px;字体大小:1.4em;}
h1{字体大小:1.8em;}
.demo{溢出:自动;边框:1px纯银;最小高度:100px;}
互动和事件演示
选择id为1的节点单击按钮或树中的节点
//互动与事件
$(“#evts_按钮”)。打开(“单击”,函数(){
var实例=$('#evts').jstree(true);
实例。取消选择_all();
实例。选择_节点('1');
});
$(“#evts”)
.on(“changed.jstree”,函数(e,数据){
如果(数据。选定。长度){
警报('所选节点为:'+data.instance.get_节点(data.selected[0]).text);
}
})
.on(“before_open.jstree”,函数(e,data,a,b,c,d){
$(“#”+data.node.id+“ul li:n个子(n+2)”.hide();
var str='
  • 按可显示'+$('#'+data.node.id+'ul li:n个子项(n+2')。长度+'更多项
  • '; var li=$(str).on('click',函数(a,b,c,d){$(a.target).parent().find('li').show();$(a.target).hide()); $('#'+data.node.id+'ul').append(li); }) jstree先生({ “核心”:{ “多重”:错误, “数据”:[ {“文本”:“根节点”,“子节点”:[ {“text”:“子节点1”,“id”:1}, {“文本”:“子节点2”} ]} ] } });
    使用jQuery file-explore.js,这是演示链接。是否显示所有剩余的元素编号?是的,我需要显示所有剩余的节点(不匹配的节点)作为链接,显示更多的N个元素。这样地。并且应该突出显示匹配的项目。通过JsTree已经可以突出显示匹配项。我正在寻找更多的链接。谢谢你的回复@V.sambor你能展示一下你到目前为止的代码吗?