複数のチェックボックスを使用してフィルタリングしようとしていますが、この例のコードを使用しました:Jquery filtering with multiple Checkboxesこれは本当にうまく動作しますが、現時点では、チェックボックスのフィルタ結果と正確に一致します。オブジェクトに配列の1つが含まれていて、配列が正確には含まれていない場合は、すべての結果を表示します。私は特定のプロジェクトのための同位体を使用することはできませんが、それは、この同位体の例のようになります:複数の組み合わせチェックボックスを使用したJqueryフィルタリング
<a href="http://codepen.io/desandro/pen/btFfG">
EDIT:それは、このコードのビットだinparticular私は変化するニーズを知っています。現時点では配列をループし、要素がチェックボックスのカテゴリと厳密に一致する場合は内容を表示します。外側のループでは
// create a collection containing all of the filterable elements
var $filteredResults = $('.card');
// loop over the selected filter name -> (array) values pairs
$.each(selectedFilters, function(name, filterValues) {
// filter each .card element
$filteredResults = $filteredResults.filter(function() {
var matched = false;
var currentFilterValues = $(this).data('category').split(' ');
// loop over each category value in the current .card's data-category
$.each(currentFilterValues, function(_, currentFilterValue) {
// if the current category exists in the selected filters array
// set matched to true, and stop looping. as we're ORing in each
// set of filters, we only need to match once
if ($.inArray(currentFilterValue, filterValues) != -1) {
matched = true;
return false;
}
});
// if matched is true the current .card element is returned
return matched;
});
});
特に理解しづらいコードについては何かありますか?ここでやったように、オンラインの例のコードを使用するときは、何が行われているのか、なぜ、どのように実装されているのかを理解することが重要です。そうすれば、あなたは厄介なバグに驚かされることはありません。少なくとも、どこを見るかという考えがあります。それがそうであるように、ランダムなインターネットコードはあなたが望むものを正確にやっていないし、あなたのためにそれを修正する人を求めている。あなたが理解しようとしたことを示すことは良いことであり、[短い例で]つまずいている(http://meta.stackexchange.com/q/22754/218143) – tmpearce
ありがとう、私はちょうど私の答えを編集しました。私は変更する必要があるコードの部分を知っていると私はそこに何を理解しています。私はほとんどそこにいると思う、私はちょうど論理と必要な機能の周りに私の頭を取得しようとしている。私は上記の質問を編集してうまくいけばもっとうまく説明できます... – Julz