我使用了jquery文件树脚本(位于http://www.abeautifulsite.net/blog/2008/03/jquery-file-tree/)和php连接器版本,结果显示了一个漂亮的2列扩展菜单。
客户端现在还需要相同版本的页面,但默认情况下会在页面加载时展开所有文件夹。我不知道如何做到这一点。我已经看过一篇文章,解释了默认情况下如何扩展特定文件夹,但我需要默认扩展所有文件,因为这是一个递归文件树,客户端将添加文件夹,我不会也不应该要更新javascript每次他们添加文件夹。
任何建议都将不胜感激!我的jQuery知识是基本的。我只是从ActionScript3中复杂性bkgnd进入jQuery。
答案 0 :(得分:2)
似乎插件没有提供配置来执行此操作。但是,您可以尝试在插件完成呈现树之后打开所有文件夹:
$(".directory a").click();
这可能有点棘手,因为它也没有提出complete
回调。
更新
如果文件夹包含子文件夹,则还需要打开新文件夹。所以你可以使用这样的函数:
function openThem() {
var closedFolders = $(".directory:not(.expanded) a");
if(closedFolders.length > 0) {
window.setTimeout(openThem, 1000);
closedFolders.click();
}
}
openThem();
答案 1 :(得分:1)
我需要类似的东西,但有搜索功能 - 搜索存储在数据库中的文件和文件夹名称。 为了进一步使我的方面复杂化,有不同程度的安全性。最后,它只是为jqueryFileTree复杂化。
然而,玩Matija的回应: jquery file tree - folder open by default?
if (o.expanded != null) {
$(c).find('.directory.collapsed').each(function (i, f) {
/*if ((o.expanded).match($(f).children().attr('rel'))) {*/
showTree($(f), escape($(f).children().attr('rel').match(/.*\//)));
$(f).removeClass('collapsed').addClass('expanded');
//};
});
}
我评论了if语句并且我设法扩展了所有。我也不得不改变
if(o.expanded == undefined) o.expanded = '';
if(o.expanded == undefined) o.expanded = null;
否则即使我不想要它也会触发。我想扩大所有搜索范围。
不幸的是,Majid你的代码对我不起作用。 closedFolders.length始终为0