0
関連する値でタグ付けされたすべての項目を表示する必要があるJavaScriptフィルターで作業しています。現時点では、割り当てられた値のいずれかを持っている限りアイテムを表示するのではなく、これらの各値が割り当てられているアイテムを表示するように機能しています。ANDフィルターをORフィルターに更新するJavascript
たとえば、猫と犬をチェックすると、割り当てられているアイテムを表示するだけでなく、これらの値のいずれかが割り当てられているすべての投稿を表示します。
マイコード例は以下である:
var $filterCheckboxes = $('input[type="checkbox"], input[type="radio"]');
$filterCheckboxes.on('change', function() {
var selectedFilters = {};
$filterCheckboxes.filter(':checked').each(function() {
if (!selectedFilters.hasOwnProperty(this.name)) {
selectedFilters[this.name] = [];
}
selectedFilters[this.name].push(this.value);
});
var $filteredResults = data;
// console.log('filtered data: ' + $filteredResults);
$.each(selectedFilters, function(name, filterValues) {
$filteredResults = $filteredResults.filter(function(item) {
var matched = false,
currentFilterValues = item.Tags;
console.log(currentFilterValues);
$.each(currentFilterValues, function(_, currentFilterValue) {
if ($.inArray(currentFilterValue, filterValues) != -1) {
matched = true;
return false;
console.log(currentFilterValue);
}
});
return matched;
});
});
どのような援助が理解されるであろう。
あなたは 'console.log'sの出力を共有し、どの出力が異なっていなければならないのかを指定できますか? – gurvinder372
最初のチェックボックスをクリックすると、出力として表示されます。 (6)["ブログ"、 "ケーススタディ"、 "建設金融"、 "グローバルビジネスモニタ"、 "建設金融"、 "インサイト" ] ["Insight"、 "Construction"、 "Construction Finance"] ["Insight"] (2)["ブログ"、 "インサイト"] Finance "] –
ブログのタグを表示しているすべてのアイテムを表示しているので、次のアイテム(例:ケーススタディ)を確認するとすぐに、両方のアイテムが表示されます。私が試してみる必要があるところでは、両方のタグとは対照的に、どちらかのタグを持つアイテムのすべてを表示する必要があります。 –