jQuery-UI-autocomplete-update-hidden-Feld mit dem Wert, zeigt aber-label in UI in Verbindung mit ASMX
In dem snippet unten, wie bekomme ich das jquery autocomplete-plugin:
- Update ein verstecktes Feld mit der UserID
- Update '#MessageTo' mit dem vollständigen Namen
Ich glaube, ich brauche zu verwenden .Ergebnis, aber ich kann nicht herausfinden, die syntax. Bitte beachten Sie, dass ich Sie mit ASMX-also muss ich einen Beitrag (nicht aktivieren möchten, Sicherheitsrisiko)
$("#MessageTo").autocomplete({
dataType: "json",
autoFocus: true,
minLength: 3,
source: function (request, response) {
var postParams = "{ pattern: '" + $("#MessageTo").val() + "' }";
return jQuery_1_7_1.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: '/Services/Users.asmx/GetNames',
data: postParams,
dataType: "json",
success: function (data) {
response($.map(data.d.Users, function (c) {
return {
label: c.FullName,
value: c.UserID
};
}));
}
});
}
});
Ich sehe einige ähnliche Beiträge, aber nicht in Verbindung mit ASMX.
- Was ist
d
Eigenschaft fürdata.d
? - Die Antwort (Daten) enthalten die Nutzdaten in einem json-Objekt d
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube, Sie sind daran interessiert, die Aktualisierung von anderen HTML-Elementen auf der Seite, wenn der Benutzer wählt etwas aus eine autocomplete-textbox aktiviert ist - ist das richtig?
Den code oben funktioniert wohl schon, um autocomplete "- Vorschläge" wie die Benutzer-Typen. Wenn ich das richtig verstehe, Sie wollen, Sie zu aktualisieren, ein paar Felder, nachdem der Benutzer akzeptiert man den Vorschlag.s
Zu tun, verwenden Sie die
select
Mitglied der AutoVervollständigen-Optionen.Ebenfalls: die Verwendung von ASMX, ist irrelevant. Aus der Perspektive des autocomplete, es ist nur eine Quelle für die Daten. Auch die Verwendung von POST ist irrelevant. Es ist möglich zu konfigurieren ASMX auf der server-Seite auf, die HTTP GET. Es ist keine Sicherheitslücke, wenn Sie es zu aktivieren. Es ist nur ein anderer Weg, die Anforderungen akzeptiert.
Das AutoVervollständigen-Feld kann nicht sagen, wenn die server-Seite ist ASMX oder Python oder ASP-classic, oder PHP, oder sonst was. Wenn ich die Frage richtig verstanden, Ihr Kommentar, dass ich sehe einige ähnliche Beiträge, aber nicht in Verbindung mit ASMX - ist irrelevant.
Sind Sie richtig, dass Sie verwenden möchten, wählen Sie die option Konfiguration - die Werte, die Sie wollen, übergeben Sie Ihre benutzerdefinierte Funktion als
ui.item.value
undui.item.label
. Sie könnenreturn false
um zu verhindern, dass das default-Verhalten und auf das Ziel-element mitthis
. also