自动完成标签不显示数据

Posted

技术标签:

【中文标题】自动完成标签不显示数据【英文标题】:autocomplete label not displaying data 【发布时间】:2019-04-03 05:08:33 【问题描述】:

我正在尝试使用下面给出的脚本自动完成 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】:

替换这个:

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

与:

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

你传递了错误的参数。

同样来自 fiddle,更新这些然后测试

将网址更改为url: 'https://jqueryui.com/resources/demos/autocomplete/search.php?term=ro' 并将dataType更改为dataType: "jsonp"

然后测试

【讨论】:

您希望在键入时自动完成显示哪个标签? 它仍然无法正常工作。你能用这个fiddle 让它工作吗? 我想要标签中的玩家 ID id 在小提琴中添加带有外部服务器 url 的 search.php,因为直接调用 search.php 不适用于 ajax。 使用 jqueryui.com/resources/demos/autocomplete/search.php?term=ro 作为外部服务器 URL。这个fiddle 还是不行。

以上是关于自动完成标签不显示数据的主要内容,如果未能解决你的问题,请参考以下文章

Ant Design - 自动完成不需要显示价值

jquery自动完成标签问题

jQuery自动完成不显示数据

JqueryUI 自动完成输入字段

材质 UI 自动完成标签动画不起作用

当搜索字符串不在选项标签中时,有没有办法使用 MUI 自动完成?