후 목록을 비워 코드는 다음과 같이KnockoutJs 필터 내가 검색 목록을 구축 할 KnockoutJs을 사용하고 검색
HTML : JS 검색 기능의
<input type="search" id="search-bar" placeholder="Enter a name" data-bind="value:query,valueUpdate: 'keyup'">
<div id="list" data-bind='template: {foreach: name}'>
<li data-bind='text $data'></li>
</div>
부 :
this.name = ko.observable('');
this.query = ko.observable('');
this.search = function (value) {
self.name([]);
for (var x in name) {
if (name[x].toLowerCase().indexOf(value.toLowerCase()) >= 0) {
self.name.push(name[x]);
}
}
}
this.query.subscribe(self.search);
$ .get을 사용하여 다른 URL에서 데이터 (2-D 목록)를 검색 한 다음 구문 분석 한 후 d 구문 분석 된 데이터의 첫 번째 항목 (arsed_data [i] [0])을 코드에 표시된 이름으로 검색합니다.
목록은 검색 상자 항목에 따라 콘텐츠를 필터링하기위한 것이고 처음에는 모든 이름을 표시하지만 검색 상자에 내용을 입력하자마자 이름 목록이 비어있게되며 가능한 원인이 될 수 있습니다. 그것을 고칠 방법이 있습니까?
'자기'란 무엇입니까? 표시하지 않은 코드에'var self = this;'를 설정 했습니까? –