2013-06-18 4 views
0

열 수가 동적 인 각 열 위에 드롭 다운이있는 표가 있습니다. 나는 다음과 같이 이것을 만들었습니다.angularjs 드롭 다운에서 선택한 항목을 범위에 추가

  <table class='table' > 
       <tr> 
        <th ng-repeat= "item in importTable[0]"> 
         <select ng-model="selectedItem" ng-options="i.Name for i in optionList"></select> 
        </th> 
       </tr> 
       <tr ng-repeat="row in importTable"> 
        <td ng-repeat="item in row">{{ item }} </td> 
       </tr> 
      </table> 

여기서 optionList는 드롭 다운의 옵션 목록입니다. 모든 드롭 다운에는 동일한 optionList가 있습니다.

위의 열의 인덱스와 함께 선택한 항목을 모델의 범위에 추가하려면 어떻게합니까?

다음은 JSfiddle http://jsfiddle.net/U3pVM/769/에 대한 링크입니다. 가져 오기를 클릭하십시오. 어떤 열이 어떤 유형인지 정의 할 수 있기를 원합니다.

+0

열 인덱스는 배열의 각 항목에 대한 속성이어야합니다. 당신이 실제로 바이올린이나 뭐하려고 시도하는 것을 게시하십시오. 우리가 알지 못하는 문제에 대한 해결책에 대한 해결책을 찾고있는 것처럼 보입니다. –

+0

안녕하십니까, 여기에 대한 답변은 링크입니다. 이게 더 나아 졌으면 좋겠다. http://jsfiddle.net/U3pVM/769/ – TJF

답변

1

당신은 배열의 특정 항목으로 ngModel을 설정 ngRepeat에서 제공하는 $ 인덱스 변수를 사용할 수 있습니다 : 컨트롤러에서

을 먼저 모든 모델 보유 할 배열 정의 :

function ImportCtrl($scope) { 
    $scope.selectedItems = []; 
    ... 
} 

그리고, ngRepeat 내부에는 selectedItems 배열 내에서 특정 항목에 ngModel를 참조보다 :

<select ng-model="selectedItems[$index]" ng-options="i.Name for i in columnNames"></select> 

Demo FIDDLE

관련 문제