2014-10-02 2 views
0

다른 사람이 이전에 각도를 IE7로 다시 지원해야합니까? 드롭 다운 목록을 만들 때 8과 7 모두에 문제가 있습니다. 각도가 드롭 다운의 옵션에 올바른 텍스트를 표시하지 않습니다.

<select data-ng-model="relatedProduct.quantity" data-ng-init="setSelect(relatedProduct)"> 
    <option data-ng-repeat="i in getNumber(relatedProduct.maxQuantity) track by $index" value="{{ $index }}">{{ $index }}</option> 
</select> 

selectng-modelng-init 무시합니다. getNumber()은 1에서 지정된 최대 값까지 배열을 반환하는 함수이며 따라서 렌더링 될 옵션의 최대 개수입니다.

내가 가진 문제는 드롭 다운을 열 때 각각의 옵션 텍스트가 {{ $index }}이라는 것입니다. 새 값을 선택할 때마다 올바른 값이 표시되므로 옵션의 값 속성이 정확합니다. 이 문제는 드롭 다운이 열려있을 때만 발생합니다.

도움을 주시면 감사하겠습니다.

+3

대신 ngOptions를 사용해 보셨습니까? –

+0

"각 옵션의 텍스트를 드롭 다운하면 {{$ index}}입니다." - 그 밖의 무엇을 기대 했습니까? – Blazemonger

+0

@ Blazemonger 나는 텍스트가 배열의 위치를 ​​나타내는 숫자가 될 것으로 기대했을 것이다. 1, 2, 3 등. 이것은 'value' 속성에 대해서만 작동하지만 실제 요소 텍스트에는 적용되지 않습니다. – ashrobbins

답변

0

대신 ngRepeatngOptions를 사용한다. 그냥 i을 사용할 수 있도록 $index

<select data-ng-model="relatedProduct.quantity" 
    data-ng-options="i for i in getNumber(relatedProduct.maxQuantity)"></option> 
</select> 

..., ngOptions에서 사용할 수 없습니다 getNumber() 반환 한 최대로에서 배열이 아주 $index를 사용하는 것과 같은 결과를 ($index은 0 -입니다 생산하지 않을 경우 기반). 당신은 0에서 시작하는 드롭 다운을해야하는 경우

<select data-ng-model="relatedProduct.quantity" 
    data-ng-options="(i - 1) as (i - 1) for i in getNumber(relatedProduct.maxQuantity)"></option> 
</select> 

가 여기에 live demo입니다 ...이 작업을 수행 할 수 있습니다. 불행히도 나는 테스트 할 IE 7의 복사본이 없지만 제대로 작동합니다.

+0

정말 잘 돌아갑니다. 고마워, 나는 이걸로 내 머리카락을 꺼내왔다. @Anthony Chu – ashrobbins

0

나는 선택 태그와 각도에 많은 문제가있었습니다. 가장 좋은 해결책은 컨트롤러에 옵션 배열을 만든 다음 ng-options attr을 사용하는 것입니다. select들에 대한

mainApp.controller('myCtrl', function ($scope) { 

    $scope.quantities = [ 
     {text : '0', value : 0}, 
     {text : '1', value : 1}, 
     {text : '2', value : 2}, 
    ]; 
    $scope.selectedQuantity = $scope.quantities[0]; 

}); 

<select ng-model="selectedQuantity" ng-options="item.text for item in quantities"></select> 
관련 문제