我有一个带有不同选项的组合框,每个选项都会给屏幕带来一个奇特的花哨.
我做一个ajax调用来获取fancytree的源代码,但它没有重新加载并且一次又一次地显示相同的选项.
部分代码:
$.ajax({
url: "get_treedata.php",
type: "POST",
data: {
id: id
},
success: function(json){
console.log(json);
var mynodes = JSON.parse(json);
$('#t-board').fancytree( // t-board is my div container
{
source: mynodes,
... // my other options
});
}
});
Run Code Online (Sandbox Code Playgroud)
该代码位于我在组合框的"onchange"中调用的函数内.告诉我你的想法,如果我需要更具体或什么.
提前致谢.
我正在尝试使用FancyTree jquery插件实现基于Web的文件夹浏览器.经过一些出牙问题,我的工作做得很好.唯一的问题是FancyTree不显示任何连接线或图标.严格仅限文本,分别使用+和 - 图标进行展开和折叠.我曾经想象过这样一个面向文件系统的插件,它有默认的图标,例如封闭和打开的文件夹等等.所以我还没有指定自定义图标,但连接线更让我困扰.
我从它的GitHub repo拼凑了我的FancyTree源代码,我的源文件夹如下所示.这是从挑选源代码,因为dist
FancyTree 的文件夹有点稀疏:
这就是我引用样式和脚本的方式.开发只是为了简洁:
<link rel="stylesheet" href="~/css/site.css" />
<link href="~/lib/fancytree/jquery-ui.css" rel="stylesheet" />
<link href="~/lib/fancytree/jquery-ui.structure.css" rel="stylesheet" />
<link href="~/lib/fancytree/jquery-ui.theme.css" rel="stylesheet" />
<link href="~/lib/fancytree/skin-bootstrap/ui.fancytree.css" rel="stylesheet" />
Run Code Online (Sandbox Code Playgroud)
额外的样式来自于jQuery UI的最小自定义下载,这是FancyTree的依赖.脚本:
<script src="~/lib/jquery/dist/jquery.js"></script>
<script src="~/lib/bootstrap/dist/js/bootstrap.js"></script>
<script src="~/lib/fancytree/jquery-ui.js"></script>
<script src="~/lib/fancytree/jquery.fancytree-all.js"></script>
Run Code Online (Sandbox Code Playgroud)
我只想象一个丢失或错误的images
位置,但肯定这应该使用glyphicons样式图标.我没有指定任何自定义图标,但预期默认值.如果我可以获得自定义图标,那么我真正关心的是缺少连接线.
BREAKING:如果我强制连接器根据这个SO答案显示,通过在树启动时添加一个类:
$(".fancytree-container").addClass("fancytree-connectors");
Run Code Online (Sandbox Code Playgroud)
我得到了连接器的垂直部分,但在水平方向上看不到任何东西.,只是文本,通常比具有线条的树缩进和可读性差.
我一直在以fancytree作为树视图开展一个项目.适用于Ajax和服务器调用.怎么样 我仍然想知道是否有可能重新加载一个选定的节点以获得有关其子节点的更新?我见过并试过这个Reload()
功能.但它似乎只重新加载任何树结构,这是不必要的.
否则,你知道支持这种节点重载的任何其他树视图吗?
我一直在使用fancytree插件一段时间,并设法解决了我遇到的大多数问题,但是我现在有点卡住了....
我刚刚开始使用列视图扩展,并想知道是否有办法设置表的高度,并能够在该固定高度内滚动.我正在回溯100多个结果,需要将表格调整到特定的页面区域.
我已经尝试用一个设置高度div围绕桌子,但这只是切断了桌子,并试图限制tbody的大小但无济于事
为了实现列视图,我使用了这个例子 - http://wwwendt.de/tech/fancytree/demo/sample-ext-columnview.html
任何建议都会受到欢迎.
谢谢,克里斯
我很难从fancytree插件中选择给定节点.
所以,我尝试过类似的东西:
$("#tree").fancytree("getTree").visit(function(node){
node.select(n);
});
Run Code Online (Sandbox Code Playgroud)
其中"n"是表示节点id的任何数字,但即使文档中存在select()函数,它也不起作用
有人可以帮忙吗?
我想将数据从fancytree传递给通用处理程序,以便我可以将其保存以备将来使用.
如果我使用此代码:
function SaveTree() {
var tree = $('#TopTree').fancytree("getTree");
$.ajax({
cache: false,
url: "SaveTree.ashx",
data: { 'treeData': tree },
contentType: "application/json; charset=utf-8"
});
}
Run Code Online (Sandbox Code Playgroud)
然后我从jquery.js得到以下错误:
JavaScript runtime error: Argument not optional
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
var tree = $('#TopTree').fancytree("getTree").rootNode.children;
Run Code Online (Sandbox Code Playgroud)
这给出了同样的错误.我理解这是因为'tree'不是JSON.如何将数据转换为JSON对象?
编辑:
如果我使用此代码:
function SaveTree() {
var data = [];
var tree = $('#TopTree').fancytree("getTree").rootNode.children;
for (var i = 0; i < tree.length; i++) {
data.push(tree[i].title)
}
data = JSON.parse(JSON.stringify(data))
$.ajax({
cache: false,
url: "SaveTree.ashx",
data: { 'treeData': data },
contentType: "application/json; charset=utf-8"
});
} …
Run Code Online (Sandbox Code Playgroud) 我一直在我正在从事的一个项目中使用“Fancytree”,直到今天为止我对它非常满意。我需要在树中的某些节点上显示不同的图标,但到目前为止,还无法让它们显示在树上。
我在 JSON 字符串中指定自定义节点图标,我用它来加载树:
[{
"title": "Inventory",
"key": "DocFolders/1026",
"folder": true,
"data": {
"icon": "LockedFolder.gif",
"isLocked": true
}
}, {
"title": "Telemetry",
"key": "DocFolders/1027",
"folder": true,
"data": {
"icon": "LockedFolder.gif",
"isLocked": true
}
}, {
"title": "Well Documents",
"key": "DocFolders/1028",
"folder": true,
"data": {
"icon": "LockedFolder.gif",
"isLocked": true
},
"expanded": true,
"children": [{
"title": "4-13 Spectrum Core PG&E Data.xlsx",
"key": "SpectrumDocs/961"
}]
}, {
"title": "Well Photos",
"key": "DocFolders/1029",
"folder": true,
"data": {
"icon": "LockedFolder.gif",
"isLocked": true
}
}]
Run Code Online (Sandbox Code Playgroud)
以下是加载树的 …
我使用fancytree插件来呈现目录,然后在这个fancytree旁边是一个按钮.用户应该单击此按钮,我应该从树中获取所选节点的列表并使用它执行某些操作.
如何在button.click事件中从树中访问所选节点的列表?
$('#button').click(function() {
// how to get selected nodes in tree
});
Run Code Online (Sandbox Code Playgroud) 反正有禁用fancytree节点吗?我正在使用Select:2选项和Ajax调用来填充树。我从数据库获取数据,需要显示我的预选节点已选择并禁用,如下所示。
一种选择是将以下属性设置为:
hideCheckbox:true
已选择:true
但这会使复选框处于隐藏状态(如下面的绿色背景所示)
我不能只禁用节点本身(如第一个图片中所示)吗?类似以下选项的整个树的遍历。
禁用:false (禁用树)
更新
如果我使用unselectable true,那么我将取消选中复选框。(下面的屏幕)
不可选择:true
已选择:true
有没有办法既启用过滤又延迟加载fancytree中的节点?我期望这样的行为: