我正在使用jQuery Typeahead plugin,但如果我尝试设置初始数据,则会发生错误,输入值为false
。
这是我的配置:
var typeaheadOptions = {
dynamic: true,
display: ['title'],
template: '<span>{{title}}</span>',
cache: true,
debug: true,
multiselect: {
matchOn: ['id'],
data: [{title: 'title1'}, {title: 'title2'}],
callback: {
onCancel: function(node, item) {removeItem(item)}
}
},
source: {
posts: {
ajax: {
method: 'GET',
url: remoteURL,
data: {search: '{{query}}'}
}
}
},
callback: {
onClick: function(node, a, item) {addItem(item)}
}
};
这是错误:
ERROR - Missing string": {
arguments: "",
function: "helper.namespace()",
message: "ERROR - Missing string",
node: "#media-kit-post"
}
这就是它的样子:
我错过了什么吗?
答案 0 :(得分:0)
我找到了解决方案并希望与大家分享:
初始data
数组中的项目需要一个额外的键值对:matchedKey: 'title'
。
所以这是我的工作options
对象:
var typeaheadOptions = {
dynamic: true,
display: ['title'],
template: '<span>{{title}}</span>',
cache: true,
debug: true,
multiselect: {
matchOn: ['id'],
data: [{title: 'title1', matchedKey: 'title'}, {title: 'title2', matchedKey: 'title'}],
callback: {
onCancel: function(node, item) {removeItem(item)}
}
},
source: {
posts: {
ajax: {
method: 'GET',
url: remoteURL,
data: {search: '{{query}}'}
}
}
},
callback: {
onClick: function(node, a, item) {addItem(item)}
}
};
附加键值对确实在typeahead documentation中multiselect
的示例中,但未在周围文字中进行描述。