Mein Select2 3.4.5 funktioniert nicht mit JSON-Daten.
Hier ist mein Eingabefeld für HTML:
<input class='form-control col-lg-5 itemSearch' type='text' placeholder='select item' />
… Und mein JavaScript
$(".itemSearch").select2({
placeholder: "Search for an Item",
minimumInputLength: 2,
ajax: {
url: "/api/productSearch",
dataType: 'json',
quietMillis: 100,
data: function (term, page) {
return {
option: term
};
},
results: function (data, page) {
var more = (page * 10) < data.total;
return {
results: data.itemName,
more: more
};
}
},
formatResult: function (data, term) {
return data;
},
formatSelection: function (data) {
return data;
},
dropdownCssClass: "bigdrop",
escapeMarkup: function (m) {
return m;
}
});
Ich habe mit Laravel 4 eine API erstellt, die einen Wert zurückgibt, wenn ich etwas in mein Textfeld eingebe.
Hier ist das Ergebnis, wenn ich "test" in mein Textfeld eingebe:
[{"itemName":"Test item no. 1","id":5},
{"itemName":"Test item no. 2","id":6},
{"itemName":"Test item no. 3","id":7},
{"itemName":"Test item no. 4","id":8},
{"itemName":"Test item no. 5","id":9},
{"itemName":"Test item no. 6","id":10},
{"itemName":"Test item no. 7","id":11}]
Ich kann das Ergebnis nicht zu meiner Select2-Dropdown-Liste hinzufügen. Ich denke formatSelection
und formatResult
verursache das Problem, weil ich nicht weiß, welcher Parameter darauf platziert werden soll. Ich weiß nicht, wo ich diese Parameter wie Container, Objekt und Abfrage sowie die Werte erhalten soll, die zurückgegeben werden sollen, oder ist meine JSON-Antwort falsch?