Hallo! :)
ich habe folgendes Problem(chen):
In einem Suchfeld frage ich Listeneinträge ab. Ich lasse aber nur die Funde anzeigen, alle Strings, die nicht der Sucheingabe entsprechen, lasse ich ausgeblendet. Es funktioniert egtl alles wunderbar, nur wenn ich bei einem leeren Suchfeld noch mal die Backspace-taste drücke, erscheinen alle Listeneinträge. Das soll nicht sein. Ich kann die Backspace-Taste nicht generell abgreifen, da man seinen Suchstring ja auch mal korrigieren können muss. Aber wenn das Feld komplett leer ist, macht ein backspace ja keinen Sinn mehr.
Leider funktioniert es bisher nicht mit "leeres Feld anfragen". Hat jemand eine Idee zu folgendem Code?
Danke Leuts, viele Grüße!
Martin
ich habe folgendes Problem(chen):
In einem Suchfeld frage ich Listeneinträge ab. Ich lasse aber nur die Funde anzeigen, alle Strings, die nicht der Sucheingabe entsprechen, lasse ich ausgeblendet. Es funktioniert egtl alles wunderbar, nur wenn ich bei einem leeren Suchfeld noch mal die Backspace-taste drücke, erscheinen alle Listeneinträge. Das soll nicht sein. Ich kann die Backspace-Taste nicht generell abgreifen, da man seinen Suchstring ja auch mal korrigieren können muss. Aber wenn das Feld komplett leer ist, macht ein backspace ja keinen Sinn mehr.
Leider funktioniert es bisher nicht mit "leeres Feld anfragen". Hat jemand eine Idee zu folgendem Code?
Code:
<script>
if (document.getElementById("myInput").value == "") {
document.getElementById('myUL').style.display = "none";
}
function myFunction() {
var input, filter, ul, li, span, i, txtValue;
input = document.getElementById("myInput");
filter = input.value.toUpperCase();
ul = document.getElementById("myUL");
li = ul.getElementsByTagName("li");
for (i = 0; i < li.length; i++) {
span = li[i].getElementsByTagName("span")[0];
txtValue = span.textContent || span.innerText;
if (txtValue .toUpperCase().indexOf(filter) > -1) {
document.getElementById('myUL').style.display = "block";
li[i].style.display = "";
}
else
li[i].style.display = "none";
}
}
}
</script>
Danke Leuts, viele Grüße!
Martin