easyui combotree模糊查询
技术交流QQ群:15129679
让EasyUI的combobox和combotree同时支持自定义模糊查询,在不更改其他代码的情况下,添加以下代码就行了:
/** * combobox和combotree模糊查询 */ (function(){ //combobox可编辑,自定义模糊查询 $.fn.combobox.defaults.editable = true; $.fn.combobox.defaults.filter = function(q, row){ var opts = $(this).combobox('options'); return row[opts.textField].indexOf(q) >= 0; }; //combotree可编辑,自定义模糊查询 $.fn.combotree.defaults.editable = true; $.extend($.fn.combotree.defaults.keyHandler,{ up:function(){ console.log('up'); }, down:function(){ console.log('down'); }, enter:function(){ console.log('enter'); }, query:function(q){ var t = $(this).combotree('tree'); var nodes = t.tree('getChildren'); for(var i=0; i<nodes.length; i++){ var node = nodes[i]; if (node.text.indexOf(q) >= 0){ $(node.target).show(); } else { $(node.target).hide(); } } var opts = $(this).combotree('options'); if (!opts.hasSetEvents){ opts.hasSetEvents = true; var onShowPanel = opts.onShowPanel; opts.onShowPanel = function(){ var nodes = t.tree('getChildren'); for(var i=0; i<nodes.length; i++){ $(nodes[i].target).show(); } onShowPanel.call(this); }; $(this).combo('options').onShowPanel = opts.onShowPanel; } } }); })(jQuery);
技术交流QQ群:15129679