• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

JSON + Autocomplete

Kygo

Neues Mitglied
Guten Morgen,
ich bin nicht der beste in JS, bin eher der PHP Programmierer. Seit mir also nicht böse, wenn ich solche einfachen Dinge nicht gebacken bekommen :p

Und zwar habe ich ein Problem. Derzeit arbeite ich an einen Ernährungsplan. Kunden können ihre eigene Rezepte erstellen. In der DB sind Zutaten schon vorgespeichert. Es gibt dann ein Inputfeld mit der ID zutaten_suche.

Standard Script
PS: json_ajax verweißt auf auf mein PHP Datei, die gebraucht wird

$(function() {

$( "#zutaten_suche" ).autocomplete(
{
source: '<?= $json_ajax ?>',
minLength: 2
});
});

Bekomme dazu auch eine Antwort:

{"a0":{"zt_name":"Apfelessig","kz_name":"Gew\u00fcrze"},"a1":{"zt_name":"Apfel","kz_name":"Obst"},"a2":{"zt_name":"Granatapfelsaft","kz_name":"Getr\u00e4nke"},"a3":{"zt_name":"Granatapfelsirup","kz_name":"Getr\u00e4nke"},"a4":{"zt_name":"Granatapfel","kz_name":"Obst"},"a5":{"zt_name":"Boskop-Apfel","kz_name"
:"Obst"},"a6":{"zt_name":"Apfel Cox Orange","kz_name":"Obst"},"a7":{"zt_name":"Apfeldicksaft","kz_name"
:"Getr\u00e4nke"},"a8":{"zt_name":"Apfelsaft","kz_name":"Getr\u00e4nke"},"a9":{"zt_name":"Apfelmark"
,"kz_name":"Obst"}}

In meinen Input Feld wird darunter nichts angezeigt.

Was ich danach möchte ist: Wenn er auf die Zutat klickt, wird diese in einer Div Box gesammelt (Zutatenliste).
 
Werbung:
Guten Morgen,
ich bin nicht der beste in JS, bin eher der PHP Programmierer. Seit mir also nicht böse, wenn ich solche einfachen Dinge nicht gebacken bekommen :p

Und zwar habe ich ein Problem. Derzeit arbeite ich an einen Ernährungsplan. Kunden können ihre eigene Rezepte erstellen. In der DB sind Zutaten schon vorgespeichert. Es gibt dann ein Inputfeld mit der ID zutaten_suche.

Standard Script
PS: json_ajax verweißt auf auf mein PHP Datei, die gebraucht wird

$(function() {

$( "#zutaten_suche" ).autocomplete(
{
source: '<?= $json_ajax ?>',
minLength: 2
});
});

Bekomme dazu auch eine Antwort:

{"a0":{"zt_name":"Apfelessig","kz_name":"Gew\u00fcrze"},"a1":{"zt_name":"Apfel","kz_name":"Obst"},"a2":{"zt_name":"Granatapfelsaft","kz_name":"Getr\u00e4nke"},"a3":{"zt_name":"Granatapfelsirup","kz_name":"Getr\u00e4nke"},"a4":{"zt_name":"Granatapfel","kz_name":"Obst"},"a5":{"zt_name":"Boskop-Apfel","kz_name"
:"Obst"},"a6":{"zt_name":"Apfel Cox Orange","kz_name":"Obst"},"a7":{"zt_name":"Apfeldicksaft","kz_name"
:"Getr\u00e4nke"},"a8":{"zt_name":"Apfelsaft","kz_name":"Getr\u00e4nke"},"a9":{"zt_name":"Apfelmark"
,"kz_name":"Obst"}}

In meinen Input Feld wird darunter nichts angezeigt.

Was ich danach möchte ist: Wenn er auf die Zutat klickt, wird diese in einer Div Box gesammelt (Zutatenliste).

Woher soll jQuery autocomplete auch den Aufbau deines Arrays kennen?

Als PHP Profi sollte die Macht einer Doku ja kein Geheimnis sein:
http://api.jqueryui.com/autocomplete/#option-source

In der Doku stehen die Möglichkeiten die du hast. Entsprechend deiner aktuellen JSON-Response kommt für dich nur die umständlichste Variante, ein Function Callback, in Frage.

Naja, umständlich ist vielleicht übertrieben…
Den AJAX-Call musst du dann halt selber machen.
 
Zurück
Oben