2014-11-19 3 views
0

각도 Ui-select (http://github.com/angular-ui/ui-select)를 사용하고 있습니다. 기본 동작은 검색된 항목이 포함 된 모든 레코드를 표시하는 것입니다 (예 : 값이 포함되어있는 경우 :Angularjs UI 선택

아르마 아르헨티나 바르샤바

을 'AR'을 입력하면 그들 모두를 찾을 수 있습니다. 그러나, 나는 단지 값의 시작과 일치시키기를 원한다. 그래서이 경우 'AR'을 입력하면 ARMAGH와 ARGENTINA만이 발견되고 WARSAW는 발견되지 않아야한다. 이 작업을 수행하는 간단한 방법이 있습니까? 아마도 내가 놓친 옵션일까요?

+0

예상 하시겠습니까? http://plnkr.co/edit/PeRNWR5J8wpydzr3MJVW?p=preview – Asik

답변

2

왼쪽에서 오른쪽으로 결과를 필터링하고 싶습니다. 이 필터를 추가 할 필요가 그래서

app.filter('left2right', function() { 
    return function(items, input) { 
    var filtered = []; 

    if(input === undefined || input === ''){ 
     return items; 
    } 

    angular.forEach(items, function(item) { 

     if(item.name.toLowerCase().indexOf(input.toLowerCase()) == 0){ 
     filtered.push(item); 
     } 
    }); 

    return filtered; 
    }; 
}); 

그런 다음, 당신은 정기적으로 필터 대신

<ui-select-choices repeat="country in countries | left2right: $select.search"> 

을 다음과 같이 필터를 업데이트해야합니다 (이것은 대소 문자를 구별하지 검색입니다)

<ui-select-choices repeat="country in countries | filter: $select.search"> 

실무 데모 :http://plnkr.co/edit/PeRNWR5J8wpydzr3MJVW?p=preview

+0

그게 내가 찾고 있었어, 대단히 감사합니다 :-) – juju

+0

당신은 환영합니다 :) – Asik