如果我想为一个集合做自动完成,最好的方法是什么?我想查看搜索字符串是否在我的模型中的任何(或选定的几个)属性中。
我在想类似的东西
this.collection.filter(function(model) {
return model.values().contains($('input.search]').val());
})
编辑 对不起,我一定解释得不够好。如果我有一个带有属性的集合......
[
{ first: 'John', last: 'Doe'},
{ first: 'Mary', last: 'Jane'}
]
我想在搜索中输入 a
,捕获 keyup 事件,然后过滤掉 { first: 'Mary', last: 'Jane'}
,如John 和 Doe 都不包含 a
。
最佳答案
你可以查看模型的属性
来做这样的事情......
var search = $('input.search]').val();
this.collection.filter(function(model) {
return _.any(model.attributes, function(val, attr) {
// do your comparison of the value here, whatever you need
return ~val.indexOf(search);
});;
});
关于javascript - 在 Backbone.js 中按子字符串过滤集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18112627/