From 358247a2a133fa52cfd0068ff4a608abc1927c5a Mon Sep 17 00:00:00 2001 From: rirat-0 Date: Wed, 17 Jun 2026 19:19:31 +0200 Subject: [PATCH] Filter funktion implementiert --- content/search-results.php | 37 +++++++++++++++++++++++++++++++++++-- index.php | 1 + js/filter.js | 29 +++++++++++++++++++++++++++++ 3 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 js/filter.js diff --git a/content/search-results.php b/content/search-results.php index 6bd5c54..c16c094 100644 --- a/content/search-results.php +++ b/content/search-results.php @@ -77,6 +77,39 @@ $resultCount = count($results); +
+

Kategorie filtern

+ +
+ @@ -94,7 +127,7 @@ $resultCount = count($results); if (!empty($results)): ?> -
+

@@ -102,7 +135,7 @@ $resultCount = count($results);

Von:

- +

📁

👍 Likes

diff --git a/index.php b/index.php index 0c2be41..6064334 100644 --- a/index.php +++ b/index.php @@ -56,6 +56,7 @@ if ($pfad === "deleteAccount") { + EduForge diff --git a/js/filter.js b/js/filter.js new file mode 100644 index 0000000..ba972a0 --- /dev/null +++ b/js/filter.js @@ -0,0 +1,29 @@ + +function initFilter() { + const filterSelect = document.getElementById('category-filter'); + const listContainer = document.querySelector('.s-res-list'); + + if (!filterSelect || !listContainer) return; + + filterSelect.addEventListener('change', function() { + const selectedCategory = this.value; + const cards = listContainer.querySelectorAll('.s-res-item'); + + cards.forEach(card => { + const cardCategory = card.getAttribute('data-category') || ''; + + if (selectedCategory === 'all' || cardCategory === selectedCategory) { + card.style.display = 'flex'; + } else { + card.style.display = 'none'; + } + }); + }); +} + +// ist das DOM bereits vollständig aufgebaut? +if (document.readyState === 'loading') { + document.addEventListener('DOMContentLoaded', initFilter); +} else { + initSorter(); +} \ No newline at end of file