現在、スライダーを使用して価格帯に基づいて配列をフィルタリングするコードがあります。さまざまなサイズと色のチェックボックスを追加できるようにする必要があります。そのため、値を使ってフィルタリングすることもできます。これは私がこれまで持っているコードですが、配列をフィルタリングする方法が複数あるので、チェックボックスを実装する方法がわかりません。JQuery配列に複数のフィルターを置く方法
//this is the main generated array
var product = [{"price":"200","color":"red","size":"small"},
{"price":"250","color":"brown","size":"medium"},
{"price":"300","color":"red","size":"large"}];
// array to display filtered array
var filteredProducts = [];
var key = 0;
//start of price range filter
if(!minPrice && !maxPrice){
filteredProducts = products;
} else{
$.each(products, function(i, object) {
var curentPrice = parseFloat(object.price);
var priceMinOk = true;
var priceMaxOk = true;
// filter results match the price range
if(maxPrice || minPrice){
if(maxPrice && maxPrice<curentPrice){
priceMaxOk = false;
}
if(minPrice && minPrice>curentPrice){
priceMinOk = false;
}
}
// loop over list and get only related to new array
if(priceMinOk && priceMaxOk){
filteredProducts[key] = object;
key++;
}
});
}
http://jsfiddle.net/ltbmedia/86pEn/
おかげマットhttp://jsfiddle.net/mattball/MQ8Mc/が、私は、各「関数predicate1(OBJ){/ *と仮定しています。.. 。* /}は各フィルタ要素(つまりサイズ)に対応していますが、それは正しいのですか? – dbach
そうです。各述語は、各要素について個別の条件をテストします。あなたの質問のサンプルコードでは、最小価格条件をテストするためのものと最大価格条件をテストするものの2つの述語を使用します。ところで、述語はブール値を返す関数です。 –
もう一度おねがいしますが、わかりません。特定の要素値に対する予測関数テストは、残念ながら、この1日中、壁に向かって私の頭を叩いたことはありませんか? – dbach