Suchsystem mit Javascript - Bitte helfen

und wie heißt das Array mit den einträgen überhaupt, wenn es nicht index heißt?

Beispiel
Javascript:
var index =
{
    "http://www.google.de" : ["google", "googol", "gogl"],
    "http://www.example.com": ["sample", "example", "exemple"]
};

//Gibt "gogl" aus
alert(index["http://www.google.de"][2]);

Und um alle URL durchzulaufen gibt es weiterhin for...in
 
hi,
aber mit for in brauch ich ja das in.

Javascript:
for(var foobar in ? ? ?)
und index[http://www.google.de/] [2]
ich kann ja nicht schreiben
Javascript:
for(var foobar in [])
oder?
irgendwie ein bisschen verwirrend, mit so viel code.
Sry, wenn ich ein bisschen schwer von capé bin :confused:
Das is ein Stück zu hoch für mich. (so weit bin ich beim lernen von JS noch nicht)
 
Hier mal der Code.
Wenn man geübt hast, hat man das in zwei Minuten getippt.

Javascript:
var textfeld = document.getElementById("textfeld");
var button = document.getElementById("button");
var suggestions = document.getElementById("suggestions");

//Bei jedem Tastendruck
textfeld.onkeyup = function() {
	var foobar = textfeld.value.toLowerCase();
	var out = "";
	
	if(foobar != "") {
		//Alle Einträge im Objekt durchlaufen
		for(var k in index) {
			//Das Array für das aktuelle Objekt
			var arr = index[k];
			
			//Alle Einträge im Array für das aktuelle Objekt durchlaufen
			for(var i = 0; i < arr.length; i++) {
				//Kommt die Eingabe vor?
				if(arr[i].toLowerCase().indexOf(foobar) > -1) {
					out += '<li><a href="' + k + '">' + arr[0] + '</a></li>';
					
					//Wir brauchen nicht weiter im Array laufen
					break;
				}
			}
		}
	}
	
	if(out === "") {
		out = "<li><em>Leider nichts passendes gefunden.</em></li>";
	}
	
	suggestions.innerHTML = out;
};
 
hi,
okay ich glaube das hätte ich mit meinem Wissen nicht lösen können.
Nur leider kann man jetzt nicht mehrenter drücken, bzw. Suchen knopf drücken.
Müsste das nicht so gehen?
Javascript:
         button.onclick = function() {
    var foobar = textfeld.value.;
                
                if(k in index) {
                        window.location = k;
                }
        };

Und danke für deine Geduld mit mir ;)
echt nett.

Lg
Dennis
 
Zuletzt bearbeitet von einem Moderator:
Nein, das geht so einfach jetzt nicht mehr. Vorher waren die Schlüssel unseres Objektes die Begriffe. Also konnte man einfach prüfen, ob die Eingabe im Objekt als Schlüssel vorhanden war. Jetzt geht das nicht mehr, denn Schlüssel und Werte sind umgedreht und zusätzlich haben wir auch noch mehrere Begriffe pro URL.

Eigentlich müsstest du jetzt wieder komplett das Objekt durchlaufen und danach suchen, ABER das haben wir ja bereits während des Tippens gemacht. Also hohlen wir uns doch einfach beim Klick auf den Button die URL des aller ersten Vorschlages.

Javascript:
button.onclick = function() {
	var links = suggestions.getElementsByTagName('a');
	
	//Sind Vorschläge da?
	if(links.length) {
		window.location = links[0].href;
	}
};
 

Neue Beiträge

Zurück