Filtering and Sorting Displayed Data
Client-side filtering can help users explore data already present in the browser. Database filtering remains preferable for large or permission-sensitive datasets.
const rows = [...document.querySelectorAll("[data-team-row]")];
const search = document.querySelector("#team-search");
search.addEventListener("input", () => {
const query = search.value.trim().toLowerCase();
let visibleCount = 0;
for (const row of rows) {
const team = row.dataset.team.toLowerCase();
const visible = team.includes(query);
row.hidden = !visible;
if (visible) visibleCount++;
}
document.querySelector("#result-count").textContent =
`${visibleCount} results shown`;
});
This demonstrates iteration and selection, but JavaScript itself is supporting technology. Explain where authoritative data processing occurs.
Check
- Original data is safely rendered.
- Case and empty searches are handled.
- Result count updates.
- Hidden content is not treated as access control.
- Large datasets are processed server-side.