Select2'nin ajax özelliğini kullanacaksınız. Ajax ile gelen veri JSON olacak ve şu formatta olacak:
{
"results": [
{
"id": 1,
"text": "Option 1"
},
{
"id": 2,
"text": "Option 2"
}
]
}
Laravel'de bu çıktıyı bir modelden şöyle basitçe alabilirsiniz mesela.
$results['results'] = Page::select(['id','name as text'])->get()->toArray();
return response()->json($results);
Select2'yi yüklerken de:
<select id="pages"></select>
var $pages = $('#pages');
$pages.select2({
ajax: {
url: '/api/pages',
dataType: 'json'
}
});
$pages.on('select2:opening', function (e) {
$pages.val(null).trigger('change.select2');
});
Denemedim, yol göstersin diye yazıyorum.
Mevcut js ile çakışmayı bilmiyorum, hatayı göstermeniz lazım.