自动完成标签不显示数据
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 让它工作吗? 我想要标签中的玩家 IDid
。
在小提琴中添加带有外部服务器 url 的 search.php,因为直接调用 search.php
不适用于 ajax。
使用 jqueryui.com/resources/demos/autocomplete/search.php?term=ro 作为外部服务器 URL。这个fiddle 还是不行。以上是关于自动完成标签不显示数据的主要内容,如果未能解决你的问题,请参考以下文章