• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Datalist

LionIV

New member
hallo zusammen, das Element meiner Wahl ist DataList, welches es ab HTML5 gibt :)

wie kann ich es nun bewerkstelligen, dass erst nach x ziffern die Auswahl erscheint, bzw, die Datalist dann aus der Datenbank bestückt wird?

Ich danke euch
 
damit muss ich wohl leben, hauptsache Firefox und IE machen mit.
Na dann versuch ich das mal mit ajax resp js hinzubekommen.

- - - Aktualisiert - - -

alsooo , ein Pulldownfeld fülle ich auf die gleiche Weise wie ich es jetzt mit der Data List versuche

Code:
  var x = document.getElementById("liste1");   
  // eine Zeile hinzufügen
    var option = document.createElement("option");
    option.text = 'Hallo Welt';
    x.add(option);

das zugehörende Feld sieht so aus:

Code:
 <input type="text" name="test1" list="liste1"  id='test1'  style='width:100px;'   onfocus="holeWerte()"  value="">
 
                <datalist id="liste1">
                  <option value='0'>bitte wählen</option>

                </datalist>
             </input>

Bei dem PulldownFeld funktioniert es, bei dieser Datalist bekomme ich im Debugger eine Exception: TypeError.


Hab ich was übersehen?

Ich danke euch
 
darin steht zum Test gerade der oben angegebene code:

Code:
 var x = document.getElementById("liste1");   
  // eine Zeile hinzufügen
    var option = document.createElement("option");
    option.text = 'Hallo Welt';
    x.add(option);

der lediglich einen Optionseintrag erstellen soll
 
Du kannst die Einträge in einer Datalist per Skript ändern. Hab' das jetzt nur im FF getestet, aber da funktioniert es wunderbar:
Code:
<!DOCTYPE html>

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Fenstertitel</title>
<style type="text/css"></style>
</head>
<body>
<input list="list" id="input">
<datalist id="list"></datalist>
<script type="text/javascript">
(function(){
	var input = document.getElementById("input");
	var list = document.getElementById("list");
	
	var data = ["hallo", "das", "ist", "ein", "Test"];
	input.addEventListener("input", function(){
		if (this.value.length >= 3){
			data.forEach(function(entry){
				list.appendChild(new Option(entry, entry));
			});
		}
		else {
			list.innerHTML = "";
		}
	}, false);
}());
</script>
</body>
</html>
 
korbinian: benutzt du diese datalist? wofür ist das genau, wenn man das autocomplete selbst machen muss?
 
ich danke euch, werde ich so ausprobieren

- - - Aktualisiert - - -

danke vielmals , das funktioniert so.:)
Ich melde mich, wenn ich das auch mit den Daten aus der DB hinbekommen habe.
 
Zurück
Oben