dtree增加排序功能

今日哥们发个需求,给树形排序,拿来相关代码,用的是dtree.js(dTree 2.05),简单看了下相关文档,确实不能排序,那就动手干吧,增加Order方法,代码如下:


dTree.prototype.Order=function(orderKey){

var tmpnodes=this.aNodes.slice();

this.aNodes.splice(0,this.aNodes.length);

var sortarr;

try

{

    sortarr=tmpnodes.sort(function(a,b){

        return a[orderKey].localeCompare(b[orderKey]);

    });

}

catch(err)

{

    //如果排序时报错,则取消排序,按默认顺序输出

    sortarr=tmpnodes;

}

finally

{

    for(j=0;j<sortarr.length;j++)

        {

            this.aNodes[this.aNodes.length] =sortarr[j];

        }

    }

};


调用方法:

d.Order('name'); //参数为排序项名称[Node 中string类型的字段包括:name, url, title, shortname, showdept等]



实例:


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 2,049评论 0 2
  • 找到fullcalendar.js, 找到代码为 isRTL:false,这句话 输入以下几句 monthName...
    迷你小小白阅读 1,727评论 0 1
  • 单例模式 适用场景:可能会在场景中使用到对象,但只有一个实例,加载时并不主动创建,需要时才创建 最常见的单例模式,...
    Obeing阅读 2,102评论 1 10
  • 第一章: JS简介 从当初简单的语言,变成了现在能够处理复杂计算和交互,拥有闭包、匿名函数, 甚至元编程等...
    LaBaby_阅读 1,700评论 0 6
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,306评论 0 3