Angularjs 不是双向绑定 select 与多个

Angularjs not two way binding for select with multiple

我有一个 select 喜欢:

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

控制器中的作用域对象如下:

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;
});

它没有 selecting select 中的多个项目,因为它没有绑定。

这有什么问题。

当你使用 <select multiple..> 时,它的 ViewModel 是一个数组(不像 <select> 没有多个)。

所以,假设你有:

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

和视图:

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

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

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