Je wordt al op weg geholpen door dat script gezien onderaan staat "Also check out Filter Table." wat verwijst naar
https://www.w3schools.com/howto/howto_js_filter_table.asp
Nu moet je dat script aanpassen zodat het op meerdere kolommen controleert.
Dus je maakt meerdere input zoekwaarden en je controleert op die respectievelijke kolom.
Jan
hier is een oude "slechte" code van mij over 2 kolommen
function filtertable(term1, tableID, cellNr1, term2, cellNr2) {
let zoekvoornaam = document.getElementById(term1).value.toLowerCase();
let zoekfamilienaam = document.getElementById(term2).value.toLowerCase();
let table = document.getElementById(tableID);
let ele1;
let eleFN;
let i;
for (i = 1; i < table.rows.length; i++) {//1 want 0=kop
let okVN=false;
if(zoekvoornaam==""){
okVN=true;
}else{
let sZoekvoornaam=zoekvoornaam.split(",");
ele1 = table.rows[i].cells[cellNr1].innerHTML.replace(/<[^>]+>/g,"").toLowerCase();//voornaam
for(let i=0;i<sZoekvoornaam.length;i++){
if(sZoekvoornaam[i]!=""){
if (ele1.indexOf(sZoekvoornaam[i])>=0){
okVN=true;
}
}
}
}
let okFN=false;
if(zoekfamilienaam==""){
okFN=true;
}else{
let sZoekfamilienaam=zoekfamilienaam.split(",");
eleFN = table.rows[i].cells[cellNr2].innerHTML.replace(/<[^>]+>/g,"").toLowerCase();//familienaam
for(let i=0;i<sZoekfamilienaam.length;i++){
if(sZoekfamilienaam[i]!=""){
if (eleFN.indexOf(sZoekfamilienaam[i])>=0){
okFN=true;
}
}
}
}
if (okVN && okFN) {
//blijft zichtbaar
}else {
table.rows[i].style.display = "none";
}
}
}
Link gekopieerd
Hoi Jan, met dit voorbeeld en verwijzing krijg ik het niet voor elkaar. Ik wil dat mijn eindresultaat er zo uit komt te zien (
), maar mijn kennis reikt niet ver genoeg om uit te zoeken hoe zij het gemaakt hebben. Bedankt!
Link gekopieerd
zoiets?
<!DOCTYPE html>
<html lang="nl">
<head>
<meta charset="utf-8">
<title>Test</title>
<style>
nav ul {
list-style-type:none;
}
nav > ul > li > ul > li {
display:inline-block;
width:150px;
border: 1px solid black;
margin:5px;
}
</style>
<script>
function dofilter(ctrl) {
let zoek = ctrl.value.toLowerCase();
let items = document.querySelectorAll("nav > ul > li > ul > li");
let letters = document.querySelectorAll("nav > ul > li");
for(let i=0;i<letters.length;i++) {
letters[i].style.display="";
}
for(let i=0;i<items.length;i++) {
items[i].style.display="";
}
for(let i=0;i<items.length;i++) {
if(items[i].innerText.toLowerCase().indexOf(zoek)<0) {
items[i].style.display="none";
}
}
for(let i=0;i<letters.length;i++) {
let letterItems =letters[i].getElementsByTagName("li");
letters[i].style.display="none";
for(j=0;j<letterItems.length;j++) {
if(letterItems[j].style.display!="none") {
letters[i].style.display="";
break;
}
}
}
}
</script>
</head>
<body>
<nav>
Zoek: <input id="zoek" placeholder="Zoekwaarde" onkeyup="dofilter(this);">
<ul>
<li>
<h1>A</h1>
<ul>
<li><a href="#">A1</a></li><li><a href="#">A2</a></li><li><a href="#">A3</a></li><li><a href="#">A4</a></li><li><a href="#">A5</a></li><li><a href="#">A6</a></li><li><a href="#">A7</a></li><li><a href="#">A8</a></li><li><a href="#">A9</a></li>
</ul>
</li>
<li>
<h1>B</h1>
<ul>
<li><a href="#">B1</a></li><li><a href="#">B2</a></li><li><a href="#">B3</a></li><li><a href="#">B4</a></li><li><a href="#">B5</a></li><li><a href="#">B6</a></li><li><a href="#">B7</a></li><li><a href="#">B8</a></li><li><a href="#">B9</a></li>
</ul>
</li>
<li>
<h1>C</h1>
<ul>
<li><a href="#">C1</a></li><li><a href="#">C2</a></li><li><a href="#">C3</a></li><li><a href="#">C4</a></li><li><a href="#">C5</a></li><li><a href="#">C6</a></li><li><a href="#">C7</a></li><li><a href="#">C8</a></li><li><a href="#">C9</a></li>
</ul>
</li>
<li>
<h1>D</h1>
<ul>
<li><a href="#">D1</a></li><li><a href="#">D2</a></li><li><a href="#">D3</a></li><li><a href="#">D4</a></li><li><a href="#">D5</a></li><li><a href="#">D6</a></li><li><a href="#">D7</a></li><li><a href="#">D8</a></li><li><a href="#">D9</a></li>
</ul>
</li>
<li>
<h1>E</h1>
<ul>
<li><a href="#">E1</a></li><li><a href="#">E2</a></li><li><a href="#">E3</a></li><li><a href="#">E4</a></li><li><a href="#">E5</a></li><li><a href="#">E6</a></li><li><a href="#">E7</a></li><li><a href="#">E8</a></li><li><a href="#">E9</a></li>
</ul>
</li>
<li>
<h1>F</h1>
<ul>
<li><a href="#">F1</a></li><li><a href="#">F2</a></li><li><a href="#">F3</a></li><li><a href="#">F4</a></li><li><a href="#">F5</a></li><li><a href="#">F6</a></li><li><a href="#">F7</a></li><li><a href="#">F8</a></li><li><a href="#">F9</a></li>
</ul>
</li>
<li>
<h1>G</h1>
<ul>
<li><a href="#">G1</a></li><li><a href="#">G2</a></li><li><a href="#">G3</a></li><li><a href="#">G4</a></li><li><a href="#">G5</a></li><li><a href="#">G6</a></li><li><a href="#">G7</a></li><li><a href="#">G8</a></li><li><a href="#">G9</a></li>
</ul>
</li>
<li>
<h1>H</h1>
<ul>
<li><a href="#">H1</a></li><li><a href="#">H2</a></li><li><a href="#">H3</a></li><li><a href="#">H4</a></li><li><a href="#">H5</a></li><li><a href="#">H6</a></li><li><a href="#">H7</a></li><li><a href="#">H8</a></li><li><a href="#">H9</a></li>
</ul>
</li>
<li>
<h1>I</h1>
<ul>
<li><a href="#">I1</a></li><li><a href="#">I2</a></li><li><a href="#">I3</a></li><li><a href="#">I4</a></li><li><a href="#">I5</a></li><li><a href="#">I6</a></li><li><a href="#">I7</a></li><li><a href="#">I8</a></li><li><a href="#">I9</a></li>
</ul>
</li>
<li>
<h1>J</h1>
<ul>
<li><a href="#">J1</a></li><li><a href="#">J2</a></li><li><a href="#">J3</a></li><li><a href="#">J4</a></li><li><a href="#">J5</a></li><li><a href="#">J6</a></li><li><a href="#">J7</a></li><li><a href="#">J8</a></li><li><a href="#">J9</a></li>
</ul>
</li>
<li>
<h1>K</h1>
<ul>
<li><a href="#">K1</a></li><li><a href="#">K2</a></li><li><a href="#">K3</a></li><li><a href="#">K4</a></li><li><a href="#">K5</a></li><li><a href="#">K6</a></li><li><a href="#">K7</a></li><li><a href="#">K8</a></li><li><a href="#">K9</a></li>
</ul>
</li>
<li>
<h1>L</h1>
<ul>
<li><a href="#">L1</a></li><li><a href="#">L2</a></li><li><a href="#">L3</a></li><li><a href="#">L4</a></li><li><a href="#">L5</a></li><li><a href="#">L6</a></li><li><a href="#">L7</a></li><li><a href="#">L8</a></li><li><a href="#">L9</a></li>
</ul>
</li>
<li>
<h1>M</h1>
<ul>
<li><a href="#">M1</a></li><li><a href="#">M2</a></li><li><a href="#">M3</a></li><li><a href="#">M4</a></li><li><a href="#">M5</a></li><li><a href="#">M6</a></li><li><a href="#">M7</a></li><li><a href="#">M8</a></li><li><a href="#">M9</a></li>
</ul>
</li>
<li>
<h1>N</h1>
<ul>
<li><a href="#">N1</a></li><li><a href="#">N2</a></li><li><a href="#">N3</a></li><li><a href="#">N4</a></li><li><a href="#">N5</a></li><li><a href="#">N6</a></li><li><a href="#">N7</a></li><li><a href="#">N8</a></li><li><a href="#">N9</a></li>
</ul>
</li>
<li>
<h1>O</h1>
<ul>
<li><a href="#">O1</a></li><li><a href="#">O2</a></li><li><a href="#">O3</a></li><li><a href="#">O4</a></li><li><a href="#">O5</a></li><li><a href="#">O6</a></li><li><a href="#">O7</a></li><li><a href="#">O8</a></li><li><a href="#">O9</a></li>
</ul>
</li>
<li>
<h1>P</h1>
<ul>
<li><a href="#">P1</a></li><li><a href="#">P2</a></li><li><a href="#">P3</a></li><li><a href="#">P4</a></li><li><a href="#">P5</a></li><li><a href="#">P6</a></li><li><a href="#">P7</a></li><li><a href="#">P8</a></li><li><a href="#">P9</a></li>
</ul>
</li>
<li>
<h1>Q</h1>
<ul>
<li><a href="#">Q1</a></li><li><a href="#">Q2</a></li><li><a href="#">Q3</a></li><li><a href="#">Q4</a></li><li><a href="#">Q5</a></li><li><a href="#">Q6</a></li><li><a href="#">Q7</a></li><li><a href="#">Q8</a></li><li><a href="#">Q9</a></li>
</ul>
</li>
<li>
<h1>R</h1>
<ul>
<li><a href="#">R1</a></li><li><a href="#">R2</a></li><li><a href="#">R3</a></li><li><a href="#">R4</a></li><li><a href="#">R5</a></li><li><a href="#">R6</a></li><li><a href="#">R7</a></li><li><a href="#">R8</a></li><li><a href="#">R9</a></li>
</ul>
</li>
<li>
<h1>S</h1>
<ul>
<li><a href="#">S1</a></li><li><a href="#">S2</a></li><li><a href="#">S3</a></li><li><a href="#">S4</a></li><li><a href="#">S5</a></li><li><a href="#">S6</a></li><li><a href="#">S7</a></li><li><a href="#">S8</a></li><li><a href="#">S9</a></li>
</ul>
</li>
<li>
<h1>T</h1>
<ul>
<li><a href="#">T1</a></li><li><a href="#">T2</a></li><li><a href="#">T3</a></li><li><a href="#">T4</a></li><li><a href="#">T5</a></li><li><a href="#">T6</a></li><li><a href="#">T7</a></li><li><a href="#">T8</a></li><li><a href="#">T9</a></li>
</ul>
</li>
<li>
<h1>U</h1>
<ul>
<li><a href="#">U1</a></li><li><a href="#">U2</a></li><li><a href="#">U3</a></li><li><a href="#">U4</a></li><li><a href="#">U5</a></li><li><a href="#">U6</a></li><li><a href="#">U7</a></li><li><a href="#">U8</a></li><li><a href="#">U9</a></li>
</ul>
</li>
<li>
<h1>V</h1>
<ul>
<li><a href="#">V1</a></li><li><a href="#">V2</a></li><li><a href="#">V3</a></li><li><a href="#">V4</a></li><li><a href="#">V5</a></li><li><a href="#">V6</a></li><li><a href="#">V7</a></li><li><a href="#">V8</a></li><li><a href="#">V9</a></li>
</ul>
</li>
<li>
<h1>W</h1>
<ul>
<li><a href="#">W1</a></li><li><a href="#">W2</a></li><li><a href="#">W3</a></li><li><a href="#">W4</a></li><li><a href="#">W5</a></li><li><a href="#">W6</a></li><li><a href="#">W7</a></li><li><a href="#">W8</a></li><li><a href="#">W9</a></li>
</ul>
</li>
<li>
<h1>X</h1>
<ul>
<li><a href="#">X1</a></li><li><a href="#">X2</a></li><li><a href="#">X3</a></li><li><a href="#">X4</a></li><li><a href="#">X5</a></li><li><a href="#">X6</a></li><li><a href="#">X7</a></li><li><a href="#">X8</a></li><li><a href="#">X9</a></li>
</ul>
</li>
<li>
<h1>Y</h1>
<ul>
<li><a href="#">Y1</a></li><li><a href="#">Y2</a></li><li><a href="#">Y3</a></li><li><a href="#">Y4</a></li><li><a href="#">Y5</a></li><li><a href="#">Y6</a></li><li><a href="#">Y7</a></li><li><a href="#">Y8</a></li><li><a href="#">Y9</a></li>
</ul>
</li>
<li>
<h1>Z</h1>
<ul>
<li><a href="#">Z1</a></li><li><a href="#">Z2</a></li><li><a href="#">Z3</a></li><li><a href="#">Z4</a></li><li><a href="#">Z5</a></li><li><a href="#">Z6</a></li><li><a href="#">Z7</a></li><li><a href="#">Z8</a></li><li><a href="#">Z9</a></li>
</ul>
</li>
</ul>
</nav>
</body>
</html>
Jan
Link gekopieerd
Geweldig Jan!!! Precies wat ik bedoel! Ontzettend bedankt voor jou hulp! #helegroteblij
Link gekopieerd
Indien je ook gebruik maakt van PHP of een andere serverside scriptingtaal kan het bovenstaande fragment een stuk korter. Regel 54 t/m 209 is veelal hetzelfde.
Link gekopieerd
Zo had ik het ook gemaakt :)
Link gekopieerd