我有一个输入字段,如:
<input id="categoria" name="nome_categoria" type="text" required minlength="2">
在JS中,我(来自Jquery网站):
$.widget( "custom.catcomplete", $.ui.autocomplete, {
_renderMenu: function( ul, items ) {
var that = this,
currentCategory = "";
$.each( items, function( index, item ) {
if ( item.category != currentCategory ) {
ul.append( "<li class='ui-autocomplete-category'>" + item.category + "</li>" );
currentCategory = item.category;
}
that._renderItemData( ul, item );
});
}
});
我从PHP获取数据,采用有效的JSON格式:
[{"Label":"Vendas","Category":"Recebimentos"},{"Label":"Fornecedores","Category":"Pagamentos"}]
我尝试了几件事,但没有人使用自动完成功能来处理类别:
$('#categoria').catcomplete({
delay:0,
source: 'search.php',
});
我可以在Chrome开发工具的“网络”标签中看到,我在输入字段中输入的字母正在搜索,但输入表单中没有显示任何内容,所以我尝试了:
$('#categoria').autocomplete({
minLength:1,
source: function(request, response) {
$.ajax({
url: 'search.php',
dataType: 'json',
data: { palavra : request.term },
success: function(result) {
response(result);
}
});
}
});
第二种方法是使用输入中输入的字母过滤从PHP返回的JSON,看起来没问题但是我在字段中得到一个空的下拉框。
我见过类似的问题,包括this one,但到目前为止,没有。如何通过类别获得自动填充功能?
感谢您的帮助!
答案 0 :(得分:0)
上面的第一个解决方案效果很好,如果不是“标签”,我使用“标签”而不是“类别”我使用“类别”。