2014-05-07 230 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>