Frage

Ich war für jQuery UI automatische Vervollständigung, weil ich auf einem <input /> benötigt, aber das Problem ist, dass ich brauche die ID des Namens abgeschlossen passieren. Lassen Sie mich erklären:

Ich habe einen Array von Namen:

$names = array(
    array('name' => 'John', id => '1'),
    array('name' => 'Sarah', id => '2'),
    array('name' => 'Josh', id => '3)
);

Und dann mit AJAX, wird der Eingang mit einem Namen des Arrays automatisch vervollständigt werden, aber dann, wenn ich einreichen, ich brauche die ID und nicht der Namen. Wie kann ich verwalten?

Vielen Dank im Voraus

War es hilfreich?

Lösung

Die JQuery UI automatische Vervollständigung Kontrolle der Liste der Suchergebnisse als eine Reihe von Anzeigen akzeptieren kann / Objekte Wert.

Von Speichern erstellen Sie ein JSON-Objekt in folgendem Format ...

[
    {label:"Display Name for result 1", value:1},
    {label:"Display Name for result 2", value:2},
    {label:"Display Name for result 3", value:3}
]

Das Label Eigenschaft enthält den Text anzuzeigen, und der Wert proberty enthält die ID. Diese Werte können überprüft werden, wenn ein Suchergebnis durch den Benutzer ausgewählt wird. Die Steuerung verfügt über einen select Fall, dass Sie hören können.

Andere Tipps

Ihre Notwendigkeit, die ID in einem versteckten Feld zu speichern.

Sie können das auf der „select“ Ereignis erreichen. http://jqueryui.com/demos/autocomplete/#event-select

Dieses Beispiel zeigt das select-Ereignis http://jqueryui.com/demos/autocomplete/#custom-data

Die Idee ist, so etwas zu tun:

        select: function( event, ui ) {
            $( "#project-id" ).val( ui.item.value );
            return false;
        }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top