选择框中的选定值未设置angularjs

时间:2015-04-16 13:31:38

标签: javascript angularjs

我试图在选择框中设置默认选定值:

<select class="form-control input-sm2" ng-init="selectedSupercustomer = superkundOptions[5]" ng-model="selectedSupercustomer" ng-options="item as item.namn for item in superkundOptions" ng-change="onChangeSuperCustomer(selectedSupercustomer)">

这是我的角色:

$scope.superkundOptions = [{ id: 5, namn: 'Halmstad Bågen / Pilen' }, { id: 6, namn: 'fisk Bågen / Pilen' }];

这不起作用。第一行仍然是空的。

3 个答案:

答案 0 :(得分:0)

您可以尝试通过控制器而不是ng-init

来放置它

<强>控制器

$scope.selectedSupercustomer = $scope.superkundOptions[5];

<强> JS

<select class="form-control input-sm2" ng-model="selectedSupercustomer" ng-options="item as item.namn for item in superkundOptions" ng-change="onChangeSuperCustomer(selectedSupercustomer)">

在您的示例中,superkundOptions数组只包含2个项目,而您正试图获得第5个项目。

答案 1 :(得分:0)

错误

你的阵列只有两个项目,所以你不能把索引放在比一个

更高的位置

解决方案

选项1

您需要更改ng-selected而不是ng-init,还需要更改数组索引

<select class="form-control input-sm2" ng-selected="superkundOptions[0]" ng-
model="selectedSupercustomer" ng-options="item as item.namn for item in  
superkundOptions" ng-change="onChangeSuperCustomer(selectedSupercustomer)">

选项2

您不需要ng-init和ng-selected,只需在控制器端处理此问题,即可将数组项分配给模型值

控制器代码

$scope.superkundOptions = [{ id: 5, namn: 'Halmstad Bågen / Pilen' }, { id: 6, namn: 'fisk Bågen / Pilen' }];

 $scope.selectedSupercustomer=$scope.superkundOptions[0]// **put 0 or 1 only**

Html代码

<select class="form-control input-sm2"  ng-
    model="selectedSupercustomer" ng-options="item as item.namn for item in  
    superkundOptions" ng-change="onChangeSuperCustomer(selectedSupercustomer)">

答案 2 :(得分:-1)

你可以查看这个小提琴

<select></select>

fiddle