I hope you can give me a little help. First of all: I'm not a trained programmer and I teach myself everything, but sometimes it's very tedious not to find a result for several days.
I am in the process of creating a list with filter options. The following options:
<select id="idTyp">
<option value="all">Alle Typen</option>
<option value="Pflanze">Pflanze</option>
<option value="Feuer">Feuer</option>
<option value="Wasser">Wasser</option>
<option value="Elektro">Elektro</option>
<option value="Psycho">Psycho</option>
<option value="Kampf">Kampf</option>
<option value="Finsternis">Finsternis</option>
<option value="Metall">Metall</option>
<option value="Fee">Fee</option>
<option value="Drache">Drache</option>
<option value="Farblos">Farblos</option>
<option value="Trainer (I)" value="Trainer (A)">Trainer</option>
<option value="Spezial-Energie">Spezial-Energie</option>
</select>
<select id="idSeltenheit">
<option value="all">Alle Stufen</option>
<option value="häufig">häufig</option>
<option value="nicht so häufig">nicht so häufig</option>
<option value="selten">selten</option>
<option value="selten, holo">selten, holo</option>
<option value="ultraselten">ultraselten</option>
<option value="selten, holo GX">selten, holo GX</option>
<option value="selten, prisma-stern">selten, prisma-stern</option>
<option value="selten, regenbogen">selten, regenbogen</option>
<option value="selten, geheim">selten, geheim</option>
</select>
<input type="button" onclick="SearchData();" value="Filtern" />
Here is the corresponding JS:
const table = document.getElementById("cardListTable");
const tr = table.getElementsByTagName("tr");
function SearchData() {
var typ = document.getElementById("idTyp").value.toUpperCase();
var seltenheit = document.getElementById("idSeltenheit").value.toUpperCase();
for (i = 1; i < tr.length; i++) {
var rowTyp = tr[i].getElementsByTagName("td")[2].textContent.toUpperCase();
var rowSeltenheit = tr[i].getElementsByTagName("td")[3].textContent.toUpperCase();
var isDiplay = true;
if (typ != 'ALL' && rowTyp != typ) {
isDiplay = false;
}
if (seltenheit != 'ALL' && rowSeltenheit != seltenheit) {
isDiplay = false;
}
if (isDiplay) {
tr[i].style.display = "";
} else {
tr[i].style.display = "none";
}
}
}
My problem: I would like to take this option
<option value="Trainer (I)" value="Trainer (A)">Trainer</option>
include multiple values. There are the values Trainer (I) , Trainer (A), Trainer (U), etc. and all should be displayed with the value "Trainer" at the same time.
What is the best way to do this?
I really hope for your help. Many Thanks