2015-05-12 44 views
0

如何爲每個不爲null的字符串應用jQuery篩選器?針對每個非空字符串的jQuery篩選器

基本上,我有下面的代碼,並希望使它適用於預先設置的任何數量的「選擇器」。

可用選擇器的列表將在一個數組中。

if (typeselector === '' && colorselector === '') {   
    $('.product').filter(selector).show(); 
} else if (typeselector === '') { 
    $('.product').filter(selector).filter(colorselector).show(); 
} else if (colorselector === '') { 
    $('.product').filter(selector).filter(typeselector).show(); 
} else { 
    $('.product').filter(selector).filter(typeselector).filter(colorselector).show(); 
} 

感謝您的任何建議/幫助!

+0

究竟什麼是這個代碼的問題簡化它可能是 –

+1

一種方式 - HTTP:/ /jsfiddle.net/arunpjohny/c02cv1fn/1/ –

+0

each(function(){...}? –

回答

1

爲了簡化你可以用鏈接:

var products = $('.product').filter(selector); 
if (typeselector !== '') {   
    products = products.filter(typeselector); 
} 
if (colorselector !== '') {   
    products = products.filter(colorselector); 
} 
products.show(); 

,甚至是這樣的:

var products = $('.product').filter(selector); 
var selectors = [typeselector, colorselector]; 

selectors.each(function(selector) { 
    if (selector !== '') { 
     products = products.filter(selector); 
    } 
}); 
products.show(); 
+0

非常感謝您的迅速回答!:) – rafleo