0

我想在這裏完成的是當用戶進入應用程序時,selectedLocal已經設置爲ID 184,並且名稱A名稱而不是默認名稱。Angularjs dropdown顯示當前選定項目的選項

任何幫助表示讚賞。

我有以下腳本:

function MyCtrl($scope) { 
     $scope.User = [{ 
      ID: 109, 
      Name: 'A Name' 
     }, { 
      ID: 161, 
      Name: 'B Name' 
     }, { 
      ID: 184, 
      Name: 'C Name' 
     }]; 

     $scope.selectedLocal = [{ID: 184,Name: 'A Name'}] 

    } 

和下面的HTML:

<div ng-app ng-controller="MyCtrl"> 
    <div>{{selectedLocal}}</div> 
    <select ng-model="selectedLocal" ng-options="item.Name for item in User" ng-change="localSelectChange()"> 
     <option value="">Default</option> 
    </select> 
</div> 

這裏是JS小提琴LINK

感謝

回答

3

你必須明白,ng-options將選項值與進行比較值通過參考。這意味着在某個點上有一個 循環,比較$scope.User[i] === $scope.selectedLocal,其中i是0和$scope.User.length之間的值。

因此,您需要初始化$scope.selectedLocal並從$scope.User引用。 在你的情況下,這將是$scope.selectedLocal = $scope.User[2];

或者你可以這樣做:根據上下文一個解決方案可能優於其他

ng-options="item.ID as item.Name for item in User"

$scope.selectedLocal = 184;

+0

感謝您的解釋,我是angularjs的新手,但是這是一個了不起的圖書館。我以前用過knowckoutjs,我喜歡這個更好:) 接受答案。 – NoviceDeveloper 2014-11-24 14:49:49

相關問題