метка автозаполнения не отображает данные - PullRequest
0 голосов
/ 30 октября 2018

Я пытаюсь выполнить автозаполнение данных из базы данных MySQL с помощью приведенного ниже сценария. Он не отображает метку, пока дает правильный ответ в сети инструментов разработчика.

JS

$('#search').autocomplete({
            source: function( request, response ) {
                $.ajax({
                    url: 'search.php',
                    dataType: "json",
                    method: 'post',
                    data: {
                        name_startsWith: request.term,
                        type: 'type'
                    },
                    success: function( data ) {
                        response( $.map( data, function( item ) {
                                return {
                                    label: code['id'],
                                    value: code['id'],
                                    data : item
                                }
                            }));
                        }
                    });
            },
            autoFocus: true,            
            minLength: 1,
            select: function( event, ui ) {
                $('#player').val(ui.item.data.player);
                $('#marks').val(ui.item.data.marks);
            }               
        });  

search.php

$type = $_POST['type'];
$id = $_POST['name_startsWith'];
$query = $db->prepare("SELECT id, player, marks, note FROM players where ( id LIKE '".$id."%') ");
$query->execute();
$data = array();

$i = 0;
while ($row = $query->fetch(PDO:: FETCH_ASSOC)) {

    $data[$i]['id'] = $row['id'];
    $data[$i]['player'] = $row['player'];
    $data[$i]['marks'] = $row['marks'];
++$i;
}  
echo json_encode($data);

Сетевой ответ

[{"id":"4133","player":"Sam","marks":"65"},{"id":"4955","player":"valiu","marks":"34"}]

1 Ответ

0 голосов
/ 30 октября 2018

Заменить это:

 return {
     label: code['id'],
      value: code['id'],
      data : item
 }

С:

return {
     label: item['id'],
      value: item['id'],
      data : item
 }

Вы передали неверный параметр.

Также из скрипки обновите их и затем протестируйте

изменить URL как url: 'https://jqueryui.com/resources/demos/autocomplete/search.php?term=ro' и измените dataType как dataType: "jsonp"

затем тест

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...