Javascript 在jquery中按类别搜索自动完成
我正在使用分类智能jquery autocomplete在下拉列表中显示列表。我将城市名称作为标签传递,将国家名称作为类别传递。按标签名称搜索效果很好,但我想提供按国家搜索的选项。如果用户键入国家/地区名称,则该国家/地区的所有城市都应显示在下拉列表中 所以,如果用户键入australia,那么我需要找到类别为australia的所有Lebel,并在下拉列表中显示它们 我附上了显示当前功能的图片 javascript代码是Javascript 在jquery中按类别搜索自动完成,javascript,jquery,autocomplete,Javascript,Jquery,Autocomplete,我正在使用分类智能jquery autocomplete在下拉列表中显示列表。我将城市名称作为标签传递,将国家名称作为类别传递。按标签名称搜索效果很好,但我想提供按国家搜索的选项。如果用户键入国家/地区名称,则该国家/地区的所有城市都应显示在下拉列表中 所以,如果用户键入australia,那么我需要找到类别为australia的所有Lebel,并在下拉列表中显示它们 我附上了显示当前功能的图片 javascript代码是 $( "#loading" ).catcomplete ({
$( "#loading" ).catcomplete
({
source: function( request, response )
{
$.ajax({
url: 'URL to fucntion',
dataType: "json",
data: {},
async:true,
success: function(data) {
var cat_data = $.map(data, function(item) {
return {
label: item.label,
category: item.category,
};
});
$("#loading").catcomplete({
source: cat_data,
minlength:0,
delay: 0
});
}
});
},
response: function(event, ui) {
if (!ui.content.length) {
$( "#loading" ).catcomplete({
source: [{"label":"australia","category":"sydney"},{"label":"australia","category":"melbourne"}]
});
} else {
$("#message").empty();
}
}
});
嗨,我用下面的代码解决了它 在json响应中使用value和desc,而不是label和category
$( "#loading" ).autocomplete({
source: Json data here,
focus: function( event, ui ) {
$( "#loading" ).val( ui.item.label );
return false;
},
select: function( event, ui ) {
$( "#loading" ).val( ui.item.desc );
$( "#loading-id" ).val( ui.item.value );
$( "#loading-description" ).html( ui.item.desc );
return false;
}
})
.autocomplete( "instance" )._renderItem = function( ul, item ) {
return $( "<li>" )
.append( "<div>" + item.desc + "</div>" )
.appendTo( ul );
};
$(“#加载”).自动完成({
来源:这里是Json数据,
焦点:功能(事件、用户界面){
$(“#加载”).val(ui.item.label);
返回false;
},
选择:功能(事件、用户界面){
$(“#加载”).val(ui.item.desc);
$(“#加载id”).val(ui.item.value);
$(“#加载说明”).html(ui.item.desc);
返回false;
}
})
.autocomplete(“实例”)。\u renderItem=函数(ul,项){
返回$(“”)
.append(“+item.desc+”)
.附录(ul);
};
听起来是个棘手的问题。。到目前为止,你试过哪些不起作用的?(我知道你不只是要求别人为你写一个解决方案,而不是自己先尝试)我认为你应该在服务器上这样做。客户端根本不关心过滤(在您的情况下)@mike510a我尝试过,如果用户键入了什么,如果它与任何城市名称不匹配,但与国家名称匹配,则选择国家作为标签,城市作为类别。但是这个解决方案并没有像预期的那样工作。你能把代码也包括进去吗?也许我们可以帮你修复它。我用硬编码值进行了更新