Suchsystem mit Javascript - Bitte helfen

2. Da fehlt nur eine geschweifte Klammer...das kann man auch selbst herausfinden. Die Fehlerkonsole sagt
Error: missing } after function body

3. Einfach so (-1 heißt nicht gefunden)
Javascript:
if(k.indexOf(foobar) > -1) {

4. Sofern du nicht von Hand alle Kombinationen eintragen willst, bewegst du dich da in einem etwas komplizierterem Feld. Hier ein paar Links (ich hab selbst erst vor zwei Wochen in JavaScript an sowas gearbeitet)
http://en.wikipedia.org/wiki/Approximate_string_matching
http://en.wikipedia.org/wiki/Soundex
http://en.wikipedia.org/wiki/Levenshtein_distance
http://en.wikipedia.org/wiki/Levenshtein_automaton

Edit: Der erste Schritt zu 4. wäre "toLowerCase()" zu benutzen.
 
hi,
danke.

4. Das lass ich lieber. Is mir zu komplliziert^^ Schade, aber egal.

Lg
Dennis
 
Zuletzt bearbeitet:
Mir fällt keine sehr elegante Lösung ein. Aber so könntest du z.B. deinen Index ändern.

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

Natürlich musst du dann deinen Code auch umbauen.
 
hi okay ich werds versuchen.
Aber wop steht das wort, dass dann angeizeigt wird? oder wird dann nur der Link angezeigt, wenn eines der wörter im suchfeld angegeben wird?
 
DU bist der Entwickler. DU legst das fest. Von selbst wird da gar nix angezeigt.
Die erste Stelle im Array würde sich dafür wohl gut eignen (gibt bestimmt auch Wörter ohne andere Schreibweisen, da gibt es nur die erste Stelle.).
 
hi,

kk:)
hab schon ne idee wies bei der Anzeige gehen könnte
mit index[0]
da dann die erste Stelle im array angezeigt wird ( steht zumindest in selfhtml )
Stimmt das?



doch probleme hab ich noch mit dem suchen

Javascript:
if(foobar != "") {
                for(var k in index) {
  //Fängt der Wert mit der Eingabe an?
  if(k.indexOf(foobar) > -1) {
    out += "<a href=" + index + ">" + index[0] + "<br><\a>";
  }
}
 }
for(var k in index) { da kann ich ja das k nicht ersetzen. aber da muss man ja, da das zu prüfende nicht mehr links steht.

das verstehe ich noch nicht ganz
 
Zuletzt bearbeitet:
Javascript:
 textfeld.onkeyup = function() {
                var foobar = textfeld.value;
                var out = "";
                if(foobar != "") {
                for(var foobar in index) {
  //Fängt der Wert mit der Eingabe an?
  if(k.indexOf(foobar) > -1) {
    out += index[0] ;
  }
}
 }
for(var foobar in index) { <-- Da hab ich auch noch ein problem.

er soll halt prüfen, ob in der datenbank etwas auf dem Textfeld (foobar) steht und dann soll er halt die erste variante im array ausgeben.
geht nur leider nicht ;(
 
Zuletzt bearbeitet von einem Moderator:
Du brauchst innerhalb eine zweite Schleife, die alle Einträge des jeweiligen Arrays durchläuft.
Der alte Code hat jetzt kaum noch Bedeutung, denn du hast ja jetzt die URL als Schlüssel und das Array als Wert. Vorher war der eine Begriff der Schlüssel und die URL der Wert.

index[0] macht gar keinen Sinn, weil index kein Array ist.
 
ui
verdammt aber ich hab halt keine ahnung wie das sonst gehen sollte, ohne index[0] und so. aber ich versuchs mal :)

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