jQueryFileTree如何清除实例、重新实例化新实例或刷新
jQueryFileTree How to clear instance, reinstantiate new instance or refresh
我使用的是jQuery FileTree。在通过javascript ajax(老式的javascript xmlhttp请求,而不是jQuery)上传文件后,我使用以下代码调用fileTree:
$('#jstree').fileTree({
script: '/ajax/file_tree2/' + path,
multiFolder: true,
expandSpeed: 250,
collapseSpeed: 250
});
它生成了一个很好的图形文件树,我可以在其中点击(path
变量是新文件夹,用作URI段变量,我只需将服务器端连接器jQueryFileTree.php代码复制到CodeIgniter控制器类中的公共函数中。这是我认为与问题无关的额外信息,仅供参考)。
但是,由于某种原因,当我通过上传新文件(无需重新加载页面)进行第二次调用时,文件树不会更新或刷新。当我为不同的文件夹上传新文件时,我想刷新树结构。
我试图使用加载器gif:清除#jstree元素本身
$('#jstree').html('<img src='"'+$("#base_url").html()+'/assets_/images/loading/loading36.gif'" />');
甚至只是清除html:
$('#jstree').html('');
我尝试过其他小部件类型库中的命令,如"destroy"或"refresh":
$('#jstree').fileTree.destroy();
$('#jstree').fileTree({
refresh: true,
script: '/ajax/file_tree2/' + path,
multiFolder: true,
expandSpeed: 250,
collapseSpeed: 250
});
它们要么什么都不做,要么返回一个js错误。
我下载了v2.1.4的原始源代码(467904a3ab5c13df094ffe01ddb0d0fea24c5d6a),并从修改了第203行
if (!data) {
至
if (!data || (Object.prototype.toString.call(args) === '[object Object]' && args.reload)) {
现在,如果我想重新加载fileTree,我只需在参数数组中传递"reload:true"。
相关文章:
- 如何在GoogleWeb工具包(GWT)中从JSNI调用接口(实例化)
- 如何在用户输入时实例化数组
- 在requirejs中共享实例化对象
- Mongoose TypeError:实例化模式类型的对象时,对象不是函数
- Angular重命名模块后未能实例化模块
- Backbone relational无法实例化两个RelationalModel对象
- 为什么可以't我使用成员方法初始化一个实例
- 我应该如何用javascript实例化这个日期
- AngularJS出错-无法实例化模块
- 谷歌地图重叠MarkerSpiderfier实例化问题
- 无法反序列化 java.util.List 的实例VALUE_STRING
- 未捕获错误:由于,[$injector:moduler]未能实例化模块polmgr
- ngRoute不是因果报应实例化的
- JavaScript 中的动态实例化
- 在文本框上绑定谷歌地点自动完成,而无需实例化谷歌地图
- UI5 路由不实例化视图
- 在 JavaScript 中,当我们实例化派生对象时,原型的函数隐藏在哪里
- 仅在需要时实例化聚合物元素
- 当从ember.js1.11.3升级到1.12以删除弃用警告时,我如何将这些初始化程序转换为实例初始化程序
- Emberjs中的实例初始化程序