Я использую этот плагин jquery: JQuery Autocomplete. Проблема. Я получаю данные json, но не отображается в списке автозаполнения. JQuery
код:JQuery автозаполнение с удаленным источником данных JSON не работает
$("#student-id").autocomplete({
source: function(request, response) {
$.ajax({
url: "ajax/ajax_admin.php?auto_student=" + $("#student-id").val(),
dataType:"json",
data: {
featureClass: "P",
style: "full",
maxRows: 12,
name_startsWith: request.term
},
success: function(data) {
response($.map(data.students, function(item) {
return {
label: item.id +" , "+ item.name,
value: item.id
}
}));
}
});
},
minLength: 2,
open: function() {
$(this).removeClass("ui-corner-all").addClass("ui-corner-top");
},
close: function() {
$(this).removeClass("ui-corner-top").addClass("ui-corner-all");
}
});
PHP Script
является:
public function load_ajax_student_list($val)
{
$val = "%".$val."%";
$stmt = $this->conn->prepare("select * from student where studentAiubId like :value limit 0,5");
$stmt->bindValue(':value', $val);
$stmt->execute();
if($stmt->rowCount() < 1)
echo "";
else
{
$result = $stmt->fetchAll();
$output = array();
foreach($result as $row)
{
if($row['mname']=="")
$name = $row['fname']." ".$row['lname'];
else
$name = $row['fname']." ".$row['mname']." ".$row['lname'];
$data["name"] = $name;
$data["id"] = $row['studentAiubId'];
$output["students"][] = $data;
}
echo json_encode($output);
}
}
Если вызов выглядит следующим образом: ajax/ajax_admin.php?auto_student=10
Полученные данные PHP script
является:
{
"students": [
{"name":"Moh Mamun Sardar","id":"10-15987-1"},
{"name":"Rehan Ahmed","id":"10-12451-2"},
{"name":"Abid Hassan","id":"10-15412-1"},
{"name":"Abir Islam","id":"10-11245-1"}
]
}
Но ничего показывать на автозаполнении. Что я делаю неправильно?
item.value должно быть item.name или item.id.Нет поля, называемого «значение при возврате json». –
Я просто использовал это, прежде чем я разместил это. Извини, я виноват. редактирование –
спасибо в любом случае. Я тоже использовал это. Не работал для меня. Теперь он внезапно работает. :) –