今日哥们发个需求,给树形排序,拿来相关代码,用的是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等]
实例: