jQuery-UI-autocomplete-caching unter Verwendung von $.map-Funktion
Ich versuche zu implementieren eine caching mit jQuery UI autocomplete.
Ich bin mit jQuery 1.4.4 und UI-1.8.6
Hier ist der basic-code, die ich habe zu arbeiten:
$('#searchbox').autocomplete({
source: function(request, response) {
if (xhr === lastXhr) {
response( $.map(data, function(item) {
return {
label: item.NAME + (item.PRFNM ? ' (' + item.PRFNM + ')' : '') + ', ' + item.JOBTITLE,
value: item.NAME
};
}));
}
});
}
});
Hier ist mein Versuch, um das caching zu arbeiten, Blick auf das Beispiel:
var cache = {},
lastXhr;
$('#searchbox').autocomplete({
source: function(request, response) {
var term = request.term;
if (term in cache) {
response($.map(cache[term], function(item) {
return {
label: item.NAME + (item.PRFNM ? ' (' + item.PRFNM + ')' : '') + ', ' + item.JOBTITLE,
value: item.NAME
};
}));
}
lastXhr = $.getJSON( "getdata.php", request, function(data, status, xhr) {
cache[term] = $.map(data, function(item) {
return {
label: item.NAME + (item.PRFNM ? ' (' + item.PRFNM + ')' : '') + ', ' + item.JOBTITLE,
value: item.NAME
};
});
if (xhr === lastXhr) {
response( $.map(data, function(item) {
return {
label: item.NAME + (item.PRFNM ? ' (' + item.PRFNM + ')' : '') + ', ' + item.JOBTITLE,
value: item.NAME
};
}));
}
});
}
});
Jeder Abnehmer da draußen?
Was ist das problem?
Es ist nicht Zwischenspeichern, wie es sein soll.
Es ist nicht Zwischenspeichern, wie es sein soll.
InformationsquelleAutor nolabel | 2010-12-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier mein Beispiel jQuery UI - autocomplete mit
cache
. Hoffe es hilft:Wenn Sie nicht zu tun von jetzt an,Firebug. Es ist ein unschätzbares Werkzeug für web-Entwicklung. Sie können einen Haltepunkt auf diese JavaScript-und sehen, was passiert.
InformationsquelleAutor rebelliard
Liegt das problem in meinem cache[Begriff] wenn ich versuche zu werfen, meine $.map-Funktion in es weil es nicht benötigt wird.
So, hier ist meine endgültige Skript für diejenigen, die noch Schwierigkeiten haben:
Ich ließ auch alle Möglichkeit aus dieser jegliche Verwirrung zu vermeiden.
InformationsquelleAutor nolabel