Select2 3.4.5 saya tidak berfungsi dengan data JSON.
Inilah kotak input saya di HTML:
<input class='form-control col-lg-5 itemSearch' type='text' placeholder='select item' />
… Dan JavaScript saya
$(".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;
}
});
Saya membuat API dengan Laravel 4 yang mengembalikan nilai setiap kali saya mengetik apa pun di kotak teks saya.
Inilah hasilnya jika saya mengetik "test" di kotak teks saya:
[{"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}]
Saya tidak dapat menambahkan hasil ke dropdown Select2 saya. Saya pikir formatSelection
dan formatResult
menyebabkan masalah karena saya tidak tahu parameter apa yang harus ditempatkan di atasnya. Saya tidak tahu di mana mendapatkan parameter seperti container, object dan query dan nilai yang harus dikembalikan, atau apakah respon JSON saya salah?