我正在尝试使用类别和Ajax实现Jquery自动完成,
我从Jquery UI website获得了以下javascript:
<script>
$.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 );
});
}
});
</script>
<script type="text/javascript">
$(function() {
//autocomplete
$(".auto").autocomplete({
source: "autocomplete.php",
minLength: 1,
});
});
</script>
文件autocomplete.php
回应了这样的Json数组:
[
{"label":"Sandy W","category":"Artist"},
{"label":"Shlomi Aber & Itamar Sagi","category":"Artist"},
{"label":"sad","category":"Keyword"}
]
但是,似乎jquery无法识别这些类别。当数组中的值显示在自动填充列表中时,它们的类别不会分开。
可以是label
和categories
周围的Json中的引号吗?我注意到在jquery label
和categories
提供的示例中没有引号。
感谢您的帮助:)
答案 0 :(得分:0)
由于您要查找分类搜索结果,因此您需要使用catcomplete
来显示子类别,而autocomplete
则不会。
改变这个:
$(".auto").autocomplete({
要:
$(".auto").catcomplete({