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]];
我有一个 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]];