1document.addEventListener("DOMContentLoaded", function () { 2 3 // Move "Alle"-Button in to div of filters with categories 4 const allButtonVeranstaltungen = document.querySelector('.all--button-veranstaltung button'); 5 const targetVeranstaltungen = document.querySelector('.veranstaltungen-filter .search-filter-input-button-group'); 6 if (targetVeranstaltungen && allButtonVeranstaltungen) { 7 targetVeranstaltungen.appendChild(allButtonVeranstaltungen); 8 } 9 10 const allButtonBeitraege = document.querySelector('.all--button-beitraege button'); 11 const targetBeitraege = document.querySelector('.beitraege-filter .search-filter-input-button-group'); 12 if (targetBeitraege && allButtonBeitraege) { 13 targetBeitraege.appendChild(allButtonBeitraege); 14 } 15 16 const allButtonMediadaten = document.querySelector('.all--button-mediadaten button'); 17 const targetMediadaten = document.querySelector('.mediadaten-filter .search-filter-input-button-group'); 18 if (targetMediadaten && allButtonMediadaten) { 19 targetMediadaten.appendChild(allButtonMediadaten); 20 } 21 22 const allButtonVeranstaltungenArchive = document.querySelector('.all--button-veranstaltung-archive button'); 23 const targetVeranstaltungenArchive = document.querySelector('.veranstaltungen-archive-filter .search-filter-input-button-group'); 24 if (targetVeranstaltungenArchive && allButtonVeranstaltungenArchive) { 25 targetVeranstaltungenArchive.appendChild(allButtonVeranstaltungenArchive); 26 } 27 28 const parentSelect = document.querySelector('.search-filter-field--id-18 select'); // Ebene 1 29 const childSelect = document.querySelector('.search-filter-field--id-19 select'); // Ebene 2 30 31 if (!parentSelect || !childSelect) return; 32 33 const allOptions = Array.from(childSelect.options); 34 35 parentSelect.addEventListener("change", function () { 36 const selectedParent = this.value; 37 38 // Entferne alle Optionen auÃer die erste (leere Option) 39 childSelect.innerHTML = ""; 40 const emptyOption = new Option("Bitte wählen", ""); 41 childSelect.append(emptyOption); 42 43 allOptions.forEach(opt => { 44 // Du brauchst <option data-parent="X"> für jede Unterkategorie 45 if (opt.dataset.parent === selectedParent) { 46 childSelect.append(opt.cloneNode(true)); 47 } 48 }); 49 }); 50}); 51
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.