0
나는 명단을 저장하는 Knockout.js에 관찰 가능한 배열을 가지고 있습니다. 이 배열의 구조는 다음과 같습니다.knockout.js의 다차원 관찰 가능 어레이에서 검색 문자열과 속성 비교
Array
|--- Person 1
|--- ID
|--- Name
|--- ...
|--- Person 2
|--- ID
|--- Name
|--- ...
|--- ...
나는 사람의 필드와 그 값을 비교해야하는 검색 창을 가지고 있습니다. 그래서 "000"을 입력하면 Person 1의 ID가됩니다. 사람 2의 이름 인 경우 "Person"을 입력하는 경우와 동일합니다.
//This code should replace the "further search logic"
if(name.toLowerCase().contains(val.toLowerCase()){
//It's a hit!
}
그러나 분명히 :
self.searchValue = ko.observable();
self.throttledValue = ko.computed(self.searchValue).extend({ throttle: 500 });
//Search by value
self.throttledValue.subscribe(function (val) {
if (val !== ''){
for (var i = 0; i < self.persons().length; i++) {
var name = self.persons()[i].fullName;
var id = self.persons()[i].ID;
//Further search logic here
}
}
}, self);
내가 같이, 사람이 검색 문자열에있는 필드를 비교할 수 있도록하고 싶습니다 :
현재, 내 코드는 다음과 같이 보입니다 , toLowerCase()
또는 이 인식되지 않아 내 페이지를로드하려고 시도 할 때 오류가 발생합니다.
누구든지 올바른 방향으로 나를 도울 수 있습니까? 사전에
감사합니다!
으로 봅니다. 내가 어떻게 이것을 잊을 수 있니? 감사. –