Twitter中多属性对象的子字符串匹配
Substring matching for multi property object in Twitter Typeahead
在进入子字符串匹配器之前,数据是这样的:
var datasource = [
{name: 'Activity One', id: '1'},
{name: 'Activity Two', id: '2'},
{name: 'Activity Three', id: '3'},
{name: 'Activity Four', id: '4'}
];
当它是一个普通的值数组
var datasource = { 'Activity One', 'Activity Two',...
使用twitter typeahead来正确匹配很简单,但是现在有多个属性,我不确定子字符串匹配器应该如何工作。
这是如何初始化typeahead:
$(control)
.typeahead({
hint: true,
highlight: true,
minLength: 0
},
{
displayKey: "name",
name: "name",
source: substringMatcher(datasource)
});
现在,字符串在初始单击时正确匹配,但不能再使用子字符串匹配器进行匹配。
这是子字符串匹配器:
var substringMatcher = function (strs) {
return function findMatches(q, cb) {
var matches = [];
var substrRegex = new RegExp(q, 'i');
$.each(strs,
function (i, str) {
if (substrRegex.test(str)) {
matches.push(str);
}
});
cb(matches);
};};
我需要改变什么?我不知道如何引用*.name属性。
Bloodhound进行子字符串匹配。至于访问属性,使用
var ds = datasource.map(function(o) { return o.name; });
相关文章:
- 如何将字符串拆分为字符,但在javascript中保留空格
- 如何显示字符串中最多 200 个字符
- 我想在Javascript中探索类似C语言的字符串的整个字符
- 如何用jquery替换字符串中可能变化的字符
- 通过跳过拆分字符在 javascript 中拆分字符串
- 使用正则表达式匹配长度为六个字符的字母数字字符串
- 字符串替换-不支持格式字符'}'
- 到UpperCase字符串Javascript中的特定字符索引
- 用类javascript包装span标记中字符串中的字符索引
- 将字符串分组为n个字符的块,并应用替换
- 如何检查一个字符串的所有字符是否都存在于另一个字符串中
- 在字符串列表中搜索任何出现的单词,如果单词的第一个字符匹配,则高亮匹配单词.Javascript正则表达式
- Javascript-正则表达式,用于在未转义字符上拆分字符串,例如|,但忽略|
- Regex-从字符第N次出现到字符串末尾的匹配
- Visual Studio 2010跳转到下一个任意字符/字符串
- 估计存储在 localStorage (Javascript) 中的 10,000 个字符字符串的大小
- 字符字符串中最后一个单词的第一个字母
- 匹配任何字符字符串的正则表达式,最多为“/”Javascript
- 将特殊字符字符串到 JSON 字符串化非法令牌中
- 在javascript中计算精确的字符字符串高度