필자가 작성한 백본 응용 프로그램의 일부로 검색 기능이 있습니다. 그것을 확장하는 데 도움이 필요합니다. 이상적으로는backbone.js 검색 기능을 개선하는 방법은 무엇입니까?
- 검색에 하나 개 이상의 내 모델의 종류와 수 있도록하고 싶습니다
- 하지 이러한 정확히 일치해야 (아마도 정규식을 사용하여?)
을 여기 내 코드 :
search: function(e) {
var search = this.$('.search').val(); //pulling in from the search bar
results = namesCollection.filter(function(item) { return item.get('First_Name') == (search);}); //returns a filtered collection that matches (exactly) the search results
filteredCollection.reset(results); //this just resets the current view
}
코드는 작동하지만, 지금은 First_Name에 정확히 일치하는 결과 만 반환합니다. First_Name과 Last_Name이 일치하도록 할 방법이 있습니까? 또한 나는 불완전한 검색을 위해 돌아 오는 길을 찾고있다. 검색 창에 'Joh'를 입력하면 John과 Johanna의 First_Name이 반환됩니다.
여기 내 데이터는 (물론, 간체)의 모습입니다 :
var data = [
{
"First_Name": "John",
"Last_Name": Smith
},
{
"First_Name": "Johanna",
"Last_Name": "Greene"
}
];
그리고 namesCollection 세트 내 데이터의 모든 이름의 백본 모음을 의미합니다. 감사!
필터 함수는 포함하려는 각 항목에 대해 true 값을 반환해야합니다. 다중 조건의 경우,'if' 문으로 한 줄 이상의 함수를 만들거나'||'연산자를 사용하십시오. 예를 들어'return item.get ('First_Name') == 검색 || item.get ('Last_Name') == search' – user113215