Frage

Ich habe ein jQuery UI-Widget zur automatischen Vervollständigung in einer Form, und ich möchte seinen Wert aus einer Datenbank vorzuwählen. Mein Autocomplete funktioniert auf folgende Weise: Die ID ist eine Zahl, tha-Label und der Wert gleich sind, und sind eine Verkettung von id + „-“ + Beschreibung. Wenn ein Wert aus der Autovervollständigung ausgewählt wird, wird ein verstecktes Feld der Wert auf den Wert von id gesetzt. Dann wird der verborgene Feld Wert auf den db gespeichert, wenn das Formular abgeschickt wird. Wenn der Benutzer auf der Seite kommt zurück zur Bearbeitung, muß ich den Wert aus dem db neu zu laden: habe ich den Idden Feldwert wieder und dann würde Ich mag den Wert des Autocomplete-Widget mit der Verkettung von id + vorzukompilieren „-“ + Beschreibung Form der db genommen. Ich glaube, ich sollte das Ereignis der Auswahl einer Zeile in der die automatische Vervollständigung auslösen, aber ich weiß nicht, wie zu tun ist. Hast du eine Idee? Danke dir Hier ist der Code des Autocomplete:

$('#codice_contratto').autocomplete({
    source: 'do_contratto.php',
    select: function(event, ui) {
                $('#id_contratto').val(ui.item.id);
            }
});
War es hilfreich?

Lösung

In der serverseitigen Code, kehrt die Seite zum Bearbeiten, würde ich empfehlen, nur den Wert sowohl mit der automatischen Vervollständigung der Textbox Einstellung sowie das versteckte Feld, um ihre richtigen Werte als vom Server zurückgegeben. Das wäre eine serverseitige Lösung sein, und Ihre HTML würde wie folgt aussehen:

<input type="textbox" id="condice_contratto" value="1 - the description" />
<input type="hidden" id="id_contratto" value="1" />

Die JQuery Autocomplete Plugin funktioniert ordnungsgemäß, wenn der Wert des Elements ist voreingestellt. Es ist nicht wirklich ein Begriff ‚Auswählen‘ ein Element in es per se. Es reitet gerade auf eine Textbox und setzt den Wert mit vielen Phantasie UI.

Wenn Sie eine clientseitige Lösung erfordern, nur so etwas tun:

$(document).ready(function() {
   $('#condice_contratto').val(current_id + ' - ' + current_description);
   $('#id_contratto').val(current_id);
}

Dies setzt voraus, die Variablen current_id und current_description wird auf ihre korrekten Werte.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top