2014-05-07 155 views
0

在Angularjs我有一個選擇控制:Angularjs:在選擇控制選擇項目

<select ng-model="modtipoProdotto.Ruoli" ng-options="ruolo.Name for ruolo in ruoli" class="form-control" multiple size="8"></select> 

即我填充在控制器URL請求:

gestionale.controller('productController', function($scope, $http, Restangular){ 
    ... 
    ... 
    $scope.ruoli = "data from url"; 
} 

目的$scope.ruoli有8個元素。 現在我想在選擇控制和例如選擇一個項目,在angularjs控制器,我已經試過:

$scope.modtipoProdotto.Ruoli = $scope.ruoli[0]; 

爲什麼這不工作?

+0

數據加載後,當你這樣做的console.log($ scope.ruoli)您能得到什麼; ? – SoluableNonagon

+0

你需要在你從網址獲取數據之後添加代碼*,而不是之前 - 在這種情況下是這樣嗎? – callmekatootie

回答

0

要設置在<select>默認選項做到這一點:

$scope.modtipoProdotto.Ruoli = "someValue"; 

要獲得從<select>選定的值執行此操作:

var someValue = $scope.modtipoProdotto.Ruoli 

另外,ng-options變量必須是一個對象數組,而不是一個字符串。 嘗試改變$scope.ruoli = "data from url";這樣:

$scope.ruolo = [ 
    { 
     text : 'SomeText', 
     value: 'SomeValue' 
    }, 
    { 
     text : 'SomeOtherText', 
     value: 'SomeOtherValue' 
    }, 
] 

,改變你的HTML這樣的:

<select ng-model="ruoli.value" ng-selected="0" ng-options="ruoli.value as ruoli.text for ruoli in ruolo"></select>