$.fn.extend({
ztreeSearch : function(options) {
// var _self=$(this);
var defaults = {
id : '',
searchText :'',
setting : {}
};
options = $.extend(defaults,options);
var _object = $("#" + options.id);
var allNodes =$(".ztreeSearch").data("data");
$.fn.zTree.init( _object, options.setting, allNodes);
var ztree = $.fn.zTree.getZTreeObj(options.id);
var nodes = ztree.getNodesByParamFuzzy("name", options.searchText, null);// 模糊搜索
var newNodes = new Array();
for(var i=0;i<nodes.length;i++){
var node = nodes[i];
var pNode =node.getParentNode();
var newNode = new Object();
if(null == pNode && node.id!= 0){
newNode.id =node.id;
newNode.name =node.name;
newNode.pid =node.pId;
newNodes.push(newNode);
}else{
if('0'!=pNode.id){// 删除我的关注下网格
newNode.id =node.id;
newNode.name =node.name;
newNode.pid =node.pId;
newNodes.push(newNode);
}
}
}
$.fn.zTree.init(_object, options.setting, newNodes);
},
ztreeSearchClear : function(options){
var defaults = {
id : 'gridTree',
searchTextId :'search_grid_text',
setting : {}
};
options = $.extend(defaults,options);
var allNodes =$(".ztreeSearch").data("data");
var _object = $("#"+options.id);
$("#" + options.searchTextId).val("");
$.fn.zTree.init(_object, csetting, allNodes);
}
});
/**
* post方式向后台请求数据
*
* @param url
* @param params
* @param callback
*/
function sendXmlHttpRequest(url, params, callback) {
$.ajax({
type : 'POST',
url : url,
data : params,
dataType : 'json',
success : function(data) {
if (callback != undefined) {
// 执行回调
window[callback](data);
}
},
error : function(data) {
}
});
}
function MSMZtree(options){
var defaults = {
id : 'gridTree',
searchTextId :'search_grid_text',
setting : {}
};
options = $.extend(defaults,options);
this.id = options.id ;
this.searchTextId = options.searchTextId ;
this.searchText = $('#' + options.searchTextId).val() ;
this.setting = options.setting ;
options.searchText = $('#' + options.searchTextId).val() ;
}
MSMZtree.prototype ={
ztreeSearch : function(){
var _object = $("#" + this.id);
var allNodes =$(".ztreeSearch").data("data");
$.fn.zTree.init( _object, this.setting, allNodes);
var ztree = $.fn.zTree.getZTreeObj(this.id);
var nodes = ztree.getNodesByParamFuzzy("name", this.searchText, null);// 模糊搜索
var newNodes = new Array();
for(var i=0;i<nodes.length;i++){
var node = nodes[i];
var pNode =node.getParentNode();
var newNode = new Object();
if(null == pNode && node.id!= 0){
newNode.id =node.id;
newNode.name =node.name;
newNode.pid =node.pId;
newNodes.push(newNode);
}else{
if('0'!=pNode.id){// 删除我的关注下网格
newNode.id =node.id;
newNode.name =node.name;
newNode.pid =node.pId;
newNodes.push(newNode);
}
}
}
$.fn.zTree.init(_object, this.setting, newNodes);
},
ztreeSearchClear : function(){
var allNodes =$(".ztreeSearch").data("data");
var _object = $("#"+this.id);
$("#" + this.searchTextId).val("");
$.fn.zTree.init(_object, this.setting, allNodes);
}
};
调用:var option ={
id : 'bigmapheadtree',
searchTextId : 'search_grid_text',
setting :bigmapheadtreesetting
};
var msmZtree = new MSMZtree(option);
msmZtree.ztreeSearchClear();