$.fn.treegrid.defaults.loadFilter = function (data, parentId) {
var opt = $(this).data().treegrid.options;
var idFiled, parentField;
if (opt.parentField) {
idFiled = opt.idField;
parentField = opt.parentField;
var i, l, treeData = [], tmpMap = [];
for (i = 0, l = data.length; i < l; i++) {
tmpMap[data[idFiled]] = data;
}
for (i = 0, l = data.length; i < l; i++) {
if (tmpMap[data[parentField]] && data[idFiled] != data[parentField]) {
if (!tmpMap[data[parentField]]['children'])
tmpMap[data[parentField]]['children'] = [];
tmpMap[data[parentField]]['children'].push(data);
} else {
treeData.push(data);
}
}
return treeData;
}
return data;
};
使用方法,放到公共的JS文件里面。在配置TREE或者TREEGRID的时候,如下三个属性必备:
idField: 'tp_id',//子菜单字段名
treeField: 'tp_name',//显示的字段名
parentField: 'tp_parent',//父菜单字段名
其它的直接参照文档配置就OK了。