Я пытаюсь ajax удаленных данных для select2 (используя 4.0.6-rc.1), попробовал несколько примеров, сначала параметр q был неопределен, но я решил, и теперь выбор не дает мне результаты, не знаю, как форматировать данные json, попробовал следующее и получил следующую ошибку в консоли:
$('#compose_username').select2({
dropdownParent: $("#modal-compose"),
placeholder: "Search country here...",
ajax: {
url: "username.php",
dataType: 'json',
delay: 250,
data: function (params) {
return {
q: params.term, // search term
page: params.page
};
},
processResults: function (data, params) {
params.page = params.page || 1;
return {
results: data.items,
pagination: {
more: (params.page * 30) < data.total_count
}
};
},
cache: false
},
// escapeMarkup: function (markup) { return markup; }, // let our custom formatter work
minimumInputLength: 1,
templateResult: formatRepo,
templateSelection: formatRepoSelection
});
function formatRepo(repo) {
if (repo.loading) return repo.text;
return repo.desc;
}
function formatRepoSelection(repo) {
return repo.desc || repo.text;
}
USERNAME.PHP
include('../core/config.php');
try {
$stmt = $db_con->query("SELECT id,username FROM users WHERE username LIKE '%".$_GET['q']."%' LIMIT 10");
$stmt->execute();
$json = [];
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$json[] = ['id'=>$row['id'], 'username'=>$row['username']];
}
echo json_encode($json);
} catch(PDOException $e) {
echo $e->getMessage();
}
JSON DATA:
если я наберу a
, то получаю следующее в консоли, но в select2
опция не отображается
(3) [{…}, {…}, {…}]
0
:
{id: "1", username: "admin"}
1
:
{id: "29", username: "adil3310"}
2
:
{id: "30", username: "asdsad"}
length
:
3
__proto__
:
Array(0)