我正在使用twitter typeahead javascript库预先填充一个搜索词,以帮助用户搜索特定的名称。我用他们的例子
substringMatcher
可以找到的函数
here
.
我正在使用ajax调用填充数据,该调用返回我期望的数据。然后将此数组传递给该示例
子字符串匹配器
但是,在搜索时,函数返回整个数组而不是每个单独的项(参见图)。
它应该只返回单个名称,而不是数组!
这是我的打字功能&source;
$('input#practition-typeahead').typeahead({
hint: true,
highlight: true,
minLength: 3,
},{
name: 'output',
source: substringMatcher(
jQuery.ajax({
type: "POST",
url: "/wp-admin/admin-ajax.php",
dataType: "json",
data: {
action: 'get_all_practitioners'
},
success:function(output){
return output;
}
})
)
});
我的子串匹配函数
var substringMatcher = function(strs) {
return function findMatches(q, cb) {
var matches, substringRegex;
// an array that will be populated with substring matches
matches = [];
// regex used to determine if a string contains the substring `q`
substrRegex = new RegExp(q, 'i');
// iterate through the pool of strings and for any string that
// contains the substring `q`, add it to the `matches` array
$.each(strs, function(i, str) {
if (substrRegex.test(str)) {
matches.push(str);
}
});
cb(matches);
};
};
编辑-
当我
console.log
我的
output
从
success
关于我的阿贾克斯我得到了以下信息;
success:function(output){
console.log(output);
return output;
}