正在正确过滤列表,但标签显示为未定义。当我选择项目时,该值将被绑定。
以下是我的代码以及屏幕截图:
$(document).on('ready',function(){
$('#search').autocomplete({
source: function(req,res) {
$.ajax({
url: "/search",
dataType: "json",
type: "GET",
data: {
term: req.term
},
success: function(data) {
res($.map(data, function(item) {
return {
label: item.name,
value: item.id
};
}));
},
error: function(xhr) {
alert(xhr.status + ' : ' + xhr.statusText);
}
});
},
select: function(event, ui) {
}
});
});
我尝试使用alert函数调试标签和值。价值观是完美的。我无法弄清楚错误。
item.name
item.id
以下是回调回复:
[
{
"id":"1",
"name":"Android"
},
{
"id":"2",
"name":"Akira"
},
{
"id":"3",
"name":"Andy"
},
....
]
答案 0 :(得分:2)
您在ajax成功函数中返回不同的属性名称。
您可以尝试使用这些属性名称吗?
[
{
"label":"1",
"value":"Android"
},
....
]
答案 1 :(得分:0)
let label = UILabel(frame: CGRect(x:0, y:0, width:150, height:50))
label.backgroundColor = UIColor.clear
label.numberOfLines = 3
label.font = UIFont.boldSystemFont(ofSize: 16.0)
label.textColor = UIColor.blackColor
label.text = "This is a multiline string for the navBar details"
self.navigationItem.titleView = label
这是我的代码获取所有选项,你可以尝试这个