Imputfeld mit Selectbar (= Autocompleter?)

Steusi

Nasenbär
Hallo Experten, ich such ein Art AutoCompleter, jedoch habe ich von Ajax und JS keine Erfahrung.
Dies würde ich aber gern ändern um meine Seiten etwas dynamischer zu gestalten.

Mein eigentlicher Wunsch ist eine Selectbar aus bereits eingegeben Ereignissen,
täglich werden Datumsstempel inkl. Sonderbemerkung eingegeben, welche an ein und dem selben Tag öfter vorkommen.

Der User muss diesen Stempel händisch eingeben, doch soll er nicht jedesmal diesen langen Ausdruck eingeben müssen,
wenn er es bereits getan hat, also ein Eingabefeld und eine Selectbar in einem.
Soetwas gibt es leider nicht oder irre ich?
Deshalb spuckte google mir den AutoCompleter aus. Dieser prüft die Eingabe latenzfrei mit einer Datenbank oder einer JSON Datei.
Eine Datenbank möchte ich nicht unbedingt anlegen für diese 10 bis 20 Begriffe.
Von einer JSON-Datei habe ich aber noch nie gehört und mich nur etwas in diese Thematik eingelesen.
Linktipp: http://json.org/

2 AutoCompleter habe ich versucht zu testen:
http://digitarald.de/project/autocompleter/1-1/showcase/request-html/
http://nodstrum.com/2007/09/19/autocompleter/

Jedoch habe es es nicht hinbekommen, mir fehlt auch einfach zu viel Hintergrundwissen.
Am liebsten würde ich ein Imputfeld haben, welches ich um meine Begriffe aus einem Array ergänzen kann.

Deshalb meine Frage, kann ich mein Problem auch auf andere Art und Weise lösen.
Hängen Ajax-Datein mit bestimmten Bibliotheken zusammen, irgendwelche Frameworks etc. ?
Da ich das gewünschte Ergebnis nicht erreich, selbst wenn ich alle dazugehörigen Datein downloade und wie in der Anleitung zu sehen einbinde.
Habt Ihr vielleicht Linktipps, wo der Einstieg in Ajax mit PHP für Anfänger mit minimalen Grundkenntnissen von JS gezeigt wird?

Ich danke Euch schon mal für jeden Tipp!
 
Warum dann das ganze im PHP Forum und nicht im Ajax Bereich?

Für jede der größeren Bibliotheken (JQuery, YUI, usw.) gibt es gute AutoCompleter.
Du musst dich nur entscheiden.
 
Warum im PHP-Forum, weil ich mich hier heimisch fühle und gehofft habe es ist auch ohne Ajax realisierbar. Ich brauch ja keine wirkliche Autovervollständigung in dem Sinne.

Ja gut, wie ich mit den Bibliotheken umgehen kann weiß ich nicht, ich wüsse nicht wo ich sie her bekomme und vorallem wo ich sie einbinden muss!
Kann ich es mir wie einzelne Datein vorstellen, welche ich einfach includieren kann?
 
Dafür hat jede gute Bibliothek eine Dokumentation auch mit Einsteigertutorials.

jquery.com Tutorials auf Deutsch

Und mit PHP ist sowas auch möglich, allerdings erst nach einem neuen HTTP Request, sprich ausfüllen, abschicken, weiter ausfüllen.
 
Ja das reicht mir eigentlich.
Der User kommt sieht ein Imputfeld trägt einen "Begriff" ein, schickt es ab.
Diese Seite wird erneut aufgerufen, dann soll das Imputfeld sowie eine Auswahlliste mit den bereits eingetragenen Begriffen.

Nur ich möchte nicht, das ich dem User sage nimm das Imput-Feld oder die Selectbar.

Wenn er etwas im Imputfeld rein schreibt und gleichzeitig in der Selectbar etwas wählt, würde ich ihm immer einen Fehler präsentieren müssen. Das andere wäre schon schöner.
Ich werde mir deinen Link einmal ansehen.
 
Dafür kann ich dir nur ein sehr gutes Buch empfehlen welches mir beim selben Problem geholfen hat. Ich nehme an du möchtest das in etwa so realisieren wie es bei google ist, man gibt die ersten Buchstaben in das Feld ein und aus der Datenbank werden die Einträge geladen welche diese Buchstaben/Zahlen enthält und als Select-Liste angezeigt.

Bei diesem Buch ab seite 233 wird dieses behandelt. Vielleicht werd ich demnächst mal ein Tutorial darüber verfassen.

http://www.terrashop.de/Buch/AJAX-mit-PHP-Ralph-Steyer-ISBN-3827323584/art/82732358/
 
Ich werde weich ....
Das wird nix, einfach mal so einen AutoCompleter downloaden, einbinden und sich freuen das alles klappt. Ich versteh nicht die Hälfte.
Muss man immer mit einer Datei arbeiten, wo die Auswahloptinonen fest deklariert sind? Oder halt eine Datenbank?

Also versucht habe ich folgendes zu realisieren:
http://www.ajaxdaddy.com/demo-jquery-autocomplete.html

Ich habe alle Datein gezogen, genauso eingebunden alles wunderbar, aber eine Autovervollständigung ist nicht erkennbar!

Woher nimmt er die Datei autocomplete.php ? Muss meine Datei so heißen, weil er es ja auf diese anwendet. Ich erhalte, wenn nur Fehlermeldungen --> undefiniert (fast jede Zeile, weil er sich in der Autoverfolständigung selbst als Seite einbintet)

PHP:
 $("#CityAjax").autocomplete(
      "autocomplete.php",
      {
                          delay:10,
                          minChars:2,
                          matchSubset:1,
                          matchContains:1,
                          cacheLength:10,
                          onItemSelect:selectItem,
                          onFindValue:findValue,
                          formatItem:formatItem,
                          autoFill:true
                  }
    );

Mit der Datei, wo alle Daten hard codiert sind gefällt mir auch momentan nicht, aber da gibt es bestimmt super leiche Lösungen, welche ich natürlich noch nicht kenn :-)
Natürlich könnte man mit PHP die zuständige .JS Datei öffnen und dann alle erforderlichen Daten an die richtige Stelle schreiben, jedoch ist dies doch nicht der Stein der Weisen!!

Also für mich steht fest, das ich mir JS noch mal genauer angucke, bevor ich mich weiter mit Ajax beschäftige. Momentan aus Zeitgründen für mich nicht realisierbar. Aber ich freue mich schon darauf in diese Welt einzudringen.

Ich danke Euch schon mal für den kleinen Exkurs in eine fremde Welt. Das Projekt lege ich erstmal auf Eis und realisiere mein Vorhaben erstmal auf andere Art und Weise, auch wenn es nicht so schick wird :(
 
Autocomplete

Hallo auch ich habe die Seite http://www.nodstrum.com/2007/09/19/autocompleter/ gefunden.

Und konnte das Ganze auch zum Laufen bringen. Nun möchte ich jedoch die ID, von der Auswahl welche der Anwender ausliess, der index.php Datei übergeben. Die ID wird im $query auch ausgelesen.
PHP:
$query = $db->query("SELECT ID, GenusP, Spezies FROM pilzentabelle WHERE GenusP LIKE '$queryString%' OR Spezies LIKE '$queryString%' LIMIT 10");
Der Anwender darf jedoch nichts von dieser ID merken.

Habe meine Frage schon im Javascript & Ajax Forum gepostet aber leider konnte mir bisher noch niemand helfen.

Kann mir vielleicht beim Problem jemand von euch helfen?
 
Zurück