Ich habe ewig daran gearbeitet und alle anderen Beispiele durchgelesen, kann aber immer noch nicht herausfinden, wie ich das machen soll. Ich versuche, jQuery UI Autocomplete zu verwenden, zum ersten Mal versuche ich, das alles zusammenzustellen. Hier ist mein JS:
$(document).ready(function () {
$("#search-title").autocomplete({
source: function ( request, response ) {
$.ajax({
url: "/include/autocomplete",
dataType: "json",
data: {
term: request.term
},
success: function (data) {
response( $.map( data.stuff, function ( item ) {
return {
label: item.name,
value: item.name
};
}));
}
});
},
minLength: 2,
focus: function (event, ui) {
$(event.target).val(ui.item.label);
return false;
},
select: function (event, ui) {
$(event.target).val(ui.item.label);
window.location = ui.item.value;
return false;
}
});
});
Beim Anschauen der Antwort in Firebug denke ich, dass ich hier richtig formatiertes JSON bekomme:
{"stuff":[ {"label" : "Dragon", "value" : "http://site.com/animal/firebreathers"}] }
Aber aus irgendeinem Grund funktioniert es nicht. Nachdem ich die Mindestlänge erreicht habe, wird eine kleine leere Box unterhalb des Suchfelds geöffnet, aber es wird nichts darin sein.
UPDATE: Wenn ich "alert(item);" im Antwortaufruf hinzufüge, erhalte ich ein Fenster, das sagt "Die Seite bei site.com zeigt an: object Object" - könnte das das Problem sein?