2014-01-30 4 views
0

테이블을 채우는 데 사용하는 녹아웃 배열이 있습니다. 또한 Filtered Array의 변수에 데이터 바인딩에 사용하는 입력 값이 있습니다. . .이 배열을 필터링하고 배열을 표시하는 데 이러한 입력을 사용해야합니다. 어떻게 내 FilteredAray 아래에서이 작업을 수행 할 수 있습니까? 입니다.입력을 기반으로 넉 아웃 어레이 필터링

<td><input data-bind="value: First, valueUpdate: 'afterkeydown'" /></td> 
<td><input data-bind="value: Second, valueUpdate: 'afterkeydown'"/></td> 
<td><input data-bind="value: Third, valueUpdate: 'afterkeydown'" /></td> 
<td><input data-bind="value: Fourth, valueUpdate: 'afterkeydown'"/></td> 

넉 아웃보기 모델 :

self.First = ko.observable(''); 
    self.Second = ko.observable(''); 
    self.Third = ko.observable(''); 
    self.Fourth = ko.observable(''); 

    self.FilteredArray = ko.computed(function() { 

     var First = self.First(); 
     var Second = self.Second(); 
     var Third = self.Third(); 
     var Fourth = self.Fourth(); 


     ? Filter self.PeopleArray() 


    }, self); 

나는 당신이 배열 필터를 찾고있는 입력

+0

observableArray를 사용하지 않는 이유가 무엇입니까? valueUpdate 바인딩을 어디에 스크립팅합니까? – beauXjames

+0

관찰 할 수있는 배열을 사용하지 않을 이유가 없다. 원래 [녹아웃 문서] (http://knockoutjs.com/examples/animatedTransitions.html)의 필터를 따르고 있었지만 여러 필터가 있기 때문에 문제가 발생했습니다. . . . – user3147424

+0

내가 깜박 했어. 내가 이미 관찰 할 수있는 배열을 가지고있다 ... 나는 배열의 첫 번째 열이 첫 번째 입력 필터를 포함하고, 배열의 두 번째 열이 두 번째 입력 필터를 포함 할 때 반환하고 싶다. – user3147424

답변

1

를 기반으로 관찰 배열 PeopleArray()를 필터링하기 위해 노력하고 있어요. 콜백 형식을 반환하는 결과 만있는 새 배열을 반환합니다.

self.array = ko.obserableArray(); 
    self.filter1 = ko.observable(); 
    self.filter2 = ko.observable(); 
    self.filter3 = ko.observable(); 
    self.filter4 = ko.observable(); 
    self.array = ko.observableArray(); 
    self.filteredArray = ko.computed(function() { 
     return ko.utils.arrayFilter(self.array(), function (item) { 
      //logic for filter1 
      //logic for filter2 
      //logic for filter3 
      //logic for filter4 
      //if result matches the filter for return true, if not test next filter 
      }); 
      }); 
    }); 
+0

그것은 내가 바라는 논리이다. 왜냐하면, 한 번에 4 개의 모든 입력을 필터링해야하기 때문입니다. – user3147424

+0

네 개의 필터 모두 ko.utils.arrayFilter의 논리는 무엇입니까? 필터 값을 포함하면 필터를 포함 시키길 원합니다. – user3147424

+0

논리가 필터에 맞는 것인지 잘 모르겠습니다. 문자열로 필터링하고 있습니까? 다른 값보다 작은 값입니다. 당신은 그 논리를 채워야합니다. – Matthew