/**
* 过滤
* */
var filter = {
'filterObj':'table.appLogList tbody tr',
'searchObj':'.local-search select',
'searchAttr':new Array('name.product', 'name.menuType', 'name.featureType', 'name.feature', 'name.app', 'name.package','name.menu'),
'allObj':'',
'auto':function (o,so) {
//获取所有满足的条件
//列出所有可能
var o = o?$(o):$(this.filterObj);
var so=so?so:this.searchObj;
var len = o.size();
var searchAttr = this.searchAttr;
var targetO,text,searchV,searchInfo=new Array(),recordO=new Array(),filterAttr=new Array();
for(var i=0;i<len;i++)
{
recordO[i] = o.eq(i);
for(var j in searchAttr)
{
searchInfo[j] = searchAttr[j].split('.');
searchV = $(so+'['+searchInfo[j][0]+'='+searchInfo[j][1]+']').val();
if(!searchV)
{
filterAttr[j] = searchAttr[j];
continue;
}
text = recordO[i].children("."+searchInfo[j][1]).text().trim();
if(searchV != text)
{
delete recordO[i]
break;
}
}
}
//console.log(filterAttr);
var existText=new Array(),markExist = new Array(),filterText,count=0;
for(var i in recordO)
{
for(var j in filterAttr)
{
if(count == 0)
{
console.log(so+'['+searchInfo[j][0]+'='+searchInfo[j][1]+']');
$(so+'['+searchInfo[j][0]+'='+searchInfo[j][1]+']').html('');
$(so+'['+searchInfo[j][0]+'='+searchInfo[j][1]+']').prepend('<option value="" selected="selected">请选择...</option>');//给予悔棋的机会
}
filterText = recordO[i].children("."+searchInfo[j][1]).text().trim();
if(typeof existText[j] == 'undefined')
existText[j] = '';
if(existText[j].indexOf(filterText) != -1)
continue;
existText[j] += filterText+',';
/*if(!markExist[j] && existText[j].split(",").length > 2)
{
markExist[j] = '1';
$(so+'['+searchInfo[j][0]+'='+searchInfo[j][1]+']').prepend('<option value="" selected="selected">请选择...</option>');
}*/
$(so+'['+searchInfo[j][0]+'='+searchInfo[j][1]+']').append('<option value="'+filterText+'">'+filterText+'</option>');
}
count++;
}
},
'handler':function (o,so) {
var o = o?$(o):$(this.filterObj);
var so=so?so:this.searchObj;
var len = o.size();
var searchAttr = this.searchAttr;
var targetO,text,searchV,searchInfo=new Array();
for(var i=0;i<len;i++)
{
targetO = o.eq(i);
for(var j in searchAttr)
{
searchInfo[j] = searchAttr[j].split('.');
searchV = $(so+'['+searchInfo[j][0]+'='+searchInfo[j][1]+']').val();
if(!searchV)
{
targetO.show();
continue;
}
text = targetO.children("."+searchInfo[j][1]).text().trim();
if(searchV != text)
{
targetO.hide();
break;
}
else
{
targetO.show();
}
}
}
}
};