Mój Select2 3.4.5 nie działa z danymi JSON.
Oto moje pole wprowadzania w HTML:
<input class='form-control col-lg-5 itemSearch' type='text' placeholder='select item' />
… I mój 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;
}
});
Stworzyłem API z Laravel 4, które zwraca wartość za każdym razem, gdy piszę cokolwiek w moim polu tekstowym.
Oto wynik, jeśli wpiszę „test” w moim polu tekstowym:
[{"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}]
Nie mogę dodać wyniku do listy rozwijanej Select2. Myślę formatSelectioni formatResultpowodują problem, ponieważ nie wiem, jaki parametr powinien być na nim umieszczony. Nie wiem, skąd wziąć te parametry, takie jak kontener, obiekt i zapytanie oraz wartości, które powinny zwracać, czy też moja odpowiedź JSON jest nieprawidłowa?
