Javascript 如何防止重新加载同一父FuelUX树的子文件夹 var DataSourceTree=函数(选项){ this.url=options.url; } DataSourceTree.prototype={ 数据:函数(选项、回调){ var self=这个; var$data=null; var param=null 如果(!(“选项中的名称”)和(&!(“选项中的类型)){ param=0;//加载第一级 }else if(选项中的“类型”&&options.type==“文件夹”){ if(选项中的“additionalParameters”和options.additionalParameters中的“children”){ param=options.additionalParameters[“id”]; } } 如果(参数!=null){ $.ajax({ url:this.url, 数据:“id=”+param, 键入:“POST”, 数据类型:“json”, 成功:功能(响应){ 回调(响应) }, 错误:函数(响应){ 控制台日志(响应); } }) } } }; $('#tree2')。管理树({ 数据源:新的数据源树({url:'AccountTree.ashx'}), 正在加载TML:“”, “打开图标”:“fa文件夹打开”, “关闭图标”:“fa文件夹”, “可选”:false, “多重选择”:错误, “选定图标”:空, “未选择的图标”:null });

Javascript 如何防止重新加载同一父FuelUX树的子文件夹 var DataSourceTree=函数(选项){ this.url=options.url; } DataSourceTree.prototype={ 数据:函数(选项、回调){ var self=这个; var$data=null; var param=null 如果(!(“选项中的名称”)和(&!(“选项中的类型)){ param=0;//加载第一级 }else if(选项中的“类型”&&options.type==“文件夹”){ if(选项中的“additionalParameters”和options.additionalParameters中的“children”){ param=options.additionalParameters[“id”]; } } 如果(参数!=null){ $.ajax({ url:this.url, 数据:“id=”+param, 键入:“POST”, 数据类型:“json”, 成功:功能(响应){ 回调(响应) }, 错误:函数(响应){ 控制台日志(响应); } }) } } }; $('#tree2')。管理树({ 数据源:新的数据源树({url:'AccountTree.ashx'}), 正在加载TML:“”, “打开图标”:“fa文件夹打开”, “关闭图标”:“fa文件夹”, “可选”:false, “多重选择”:错误, “选定图标”:空, “未选择的图标”:null });,javascript,asp.net,fuelux,Javascript,Asp.net,Fuelux,这是我从AccountTree.ashx恢复的JSON数据 {\'data\':[{\'id\':1,\'name\':\'label 1\',\'type\':\'folder\',\'additionalParameters\':{\'id\':1,\'children\':true,\'itemSelected\':false,\'name\':'test\',\'type\':'item\'} 我知道回拨(应答)有问题 必须为label1-->项数据源函数似乎没有更改从中获取JSON的

这是我从AccountTree.ashx恢复的JSON数据 {\'data\':[{\'id\':1,\'name\':\'label 1\',\'type\':\'folder\',\'additionalParameters\':{\'id\':1,\'children\':true,\'itemSelected\':false,\'name\':'test\',\'type\':'item\'}

我知道回拨(应答)有问题


必须为label1-->项

数据源函数似乎没有更改从中获取JSON的URL

打开文件夹节点时,它使用数据源提供的任何JSON。使用
attr
键和事件
opened.fu.tree
为节点提供数据属性,然后这些属性将通知/操作数据源,并告诉它要加载的URL和JSON

var DataSourceTree = function (options) {
                this.url = options.url;
            }
            DataSourceTree.prototype = {
                data: function (options, callback) {
                    var self = this;
                    var $data = null;
                    var param = null
                    if (!("name" in options) && !("type" in options)) {
                        param = 0; //load the first level  
                    } else if ("type" in options && options.type == "folder") {
                        if ("additionalParameters" in options && "children" in options.additionalParameters) {
                            param = options.additionalParameters["id"];
                        }
                    }
                    if (param != null) {
                        $.ajax({
                            url: this.url,
                            data: 'id=' + param,
                            type: 'POST',
                            dataType: 'json',
                            success: function (response) {
                                callback(response)
                            },
                            error: function (response) {
                                console.log(response);
                            }
                        })
                    }
                }
            };
            $('#tree2').admin_tree({
                dataSource: new DataSourceTree({ url: 'AccountTree.ashx' }),
                loadingHTML: '<div class="tree-loading"><i class="fa fa-spinner fa-2x fa-spin"></i></div>',
                'open-icon': 'fa-folder-open',
                'close-icon': 'fa-folder',
                'selectable': false,
                'multiSelect': false,
                'selected-icon': null,
                'unselected-icon': null
            });