我正在使用ng-repeat添加ui-selection但我不知道如何从控制器中的每个ui-select中获取值。我想在控制器中获取所选项目值,以用作发送$ http请求的参数。
<div ng-repeat="repeat in repeats">
<p>Selected: {{pattern.selected.name}}</p>
<ui-select ng-model="repeat.id">
<ui-select-match placeholder="Enter an pattern...">{{$select.selected.name}}</ui-select-match>
<ui-select-choices repeat="pattern in data_pattern_newspapers track by $index">
<div ng-bind-html="pattern.name | highlight: $select.search"></div>
</ui-select-choices>
我想在我的控制器中做以下事情:
alert($scope.repeat.id.selected)
如何在我的控制器中访问每个ui-select的模型?
我 plnkr
请一些人帮帮我。谢谢!
答案 0 :(得分:2)
在你的html中使用ngRepeat的$index
属性为每个ui-select
创建一个唯一的模型,并将$index
传递给ngChange函数:
<ui-select ng-model="selections[$index]" ng-change="selectionChanged($index)">
在你的控制器中初始化一个数组来保存所选的值,并添加接收$index
的上述函数来引用这个数组:
$scope.selections = [];
$scope.selectionChanged = function(idx) {
console.log(idx, $scope.selections[idx]);
};
现在$scope.selections
是他们选择的数组。