Angularjs不是双向绑定选择多个

时间:2015-02-04 05:23:33

标签: angularjs html5 binding

我有一个选择:

<select multiple ng-multiple="true" ng-model="selectMulti" ng-options="br.Name for br in branches"></select>

控制器中的Scope对象如下:

vehicleFactory.getBranches().success(function (data) {
    $scope.branches = data;
}).error(function (data) {       
    $scope.loading = false;
});

vehicleFactory.getVehicle().success(function (data) {
    $scope.vehicle = data;
    $scope.selectMulti = $scope.vehicle.AssociatedBranches;
}).error(function (data) {       
    $scope.loading = false;
});

它没有在select中选择多个项目,因为它没有绑定。

它有什么问题。

1 个答案:

答案 0 :(得分:1)

使用<select multiple..>时,它的ViewModel是一个数组(与<select>不同,不是多个)。

所以,说你有:

$scope.branches = [{...}, {...}, ...];

和视图:

<select multiple ng-model="selectMulti" ng-options="br.Name for br in branches">
</select>

然后,如果您想选择默认值,$scope.selectMulti应该是这些值的数组:

$scope.selectMulti = [$scope.branches[0], $scope.branches[1]];