2016-06-20 3 views
0

안녕있어 후속 개체 :특정 ID와 항목을 찾아 드롭 다운에서 선택

 myList = { 
      Items: [ 
       { 
        ID: -1, 
        Name: "Default item" 
       }, 
       { 
        ID: 0, 
        Name: "Some item" 
       }, 
       { 
        ID: 12, 
        Name: "Item 1" 
       } 
      ] 
     }; 

I 루프 같은 내 선택에 NG-옵션이 객체 :

<select ng-options="option as option.Name for option in myList.Items"></select> 

그것을 내 목록에 내 항목을 표시하지만 드롭 다운에는 처음에는 빈 항목이 있으며 이것이 기본값입니다. 내 항목 중 하나를 클릭하면 빈 항목이 제거되고 선택한 항목이 목록에 있습니다. ID = -1 인 항목을 검색하고 빈 목록없이 내 목록의 기본값으로 선택하려면 어떻게합니까? 나는 이것을 다음과 같이 시도했다 :

let myDefault = myList.Items.find((item:any) => item.ID == -1); 

그것은 나의 항목을 찾는다. 그러나 나의 목록에서 그것을 디폴트로 어떻게 설정할 수 있는가?

감사와 환호. 배열의 첫 번째 항목으로 초기화

+1

당신은 첫 번째 옵션을 지정해야합니다 귀하의 선택에 따라 귀하의 코드 btw에서 누락 된 모델을 찾으십시오. http://stackoverflow.com/questions/12654631/why-does-angularjs-include-an-empty-options-in-select – Keammoort

+0

@Keammoort 감사합니다. 올바른 것으로 표시된 답변을보십시오. 나는 그것을 편집했다. ng-model과 find()를 사용하면 첫 번째 인덱스인지 마지막인지에 관계없이 기본값으로 설정할 수 있습니다. 건배 – MrBuggy

답변

1

먼저 추가는 ng-model

<select ng-model="select" 
     ng-options="option as option.Name for option in myList.Items"> 
</select> 

태그 select 및 컨트롤러

$scope.select = $scope.myList.Items.find((item:any) => item.ID == -1); 
+0

안녕하세요. 감사합니다. 코드를 약간 편집했습니다. ID가 == -1 인 항목을 선택해야 할 때마다 솔루션이 필요합니다. 또한 목록의 첫 번째 색인에없는 경우에도 추가되었습니다. ng-model (당신이 이것에 맞았습니다)에 ID == -1 인 항목을 추가합니다.이 항목은 find()와 함께 목록에 있습니다. 감사와 환호. – MrBuggy

+0

안녕하세요, 편집 해 주셔서 감사합니다. 좋은 지적 :) –

1

당신의 선택의 모델 :

<select ng-init="selectedItem = myList.Items[0]" 
     ng-model="selectedItem" 
     ng-options="option as option.Name for option in myList.Items"> 
</select> 
관련 문제