0

我正在尝试使用角度 ng-options 实现大声多选。问题是,它没有返回错误,但选择列表为空。

 <select ng-options="item.label for item in list" 
         lp-multi-select multiple="multiple" 
         class="multi-select" ng-model="$scope.selected"></select>
4

1 回答 1

0

你不能在 ng-model 中写“$scope”,因为它没有在那里定义。所以角度控制器 js 中的规则是“$scope.selected”与 ng-model 中的“selected”相同——

ng-model="选择"

如果你这样做,那么它将返回你的多个选择的选项作为对象数组。你可以看到下面的例子(选择两个选项然后单击检查按钮查看结果) -

<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>

<body>

    <div ng-app="myApp" ng-controller="datCtrl">
		<select ng-options="item.label for item in list" multiple="multiple" class="multi-select" ng-model="selected">
		</select>
		<button ng-click="checkM()">Check</button>
        

    </div>

    <script>
        var app = angular.module('myApp', []);
        app.controller('datCtrl', function ($scope) {
            $scope.list=[{id:1,label:"banana"},{id:2,label:"mango"},{id:3,label:"apple"},{id:4,label:"water melon"}];
			$scope.checkM=function (){
				console.log($scope.selected);
			};
        });
		
    </script>

    

</body>

</html>

于 2017-03-30T03:42:16.813 回答