如何在 angular 中获取 ui-select 倍数中的所有 selected 值

How can I get all the selected values in a ui-select multiple in angular

我在 angular 中有以下 ui-select 代码,我想获取所有 selected 值以便将它们放入字符串中。 selection 效果很好我可以选择产品,但我无法获得我有哪些值 selected

<ui-select multiple ng-model="multipleDemo.selectedProducts" theme="bootstrap" ng-disabled="disabled">
                  <ui-select-match class="ui-select-match" placeholder="Επιλογή προϊόντος...">{{$item.name}}</ui-select-match>
                  <ui-select-choices class="ui-select-choices" repeat="product in products | propsFilter: {name: $select.search}">
                    <div ng-bind-html="product.name | highlight: $select.search"></div>
                  </ui-select-choices>
                </ui-select>

在我的控制器中

$scope.multipleDemo = {};
$scope.multipleDemo.selectedProducts = [];

如果我这样写div

 </div>
                <div>{{multipleDemo.selectedProducts}}</div>
            </div>

那么我在这个 div 中没有看到任何东西。 有人可以帮忙吗?

我已经根据您问题中似乎有效的代码创建了 this Fiddle。不过,我无法发现您的代码有任何明显的错误。

控制器如下:

app.controller("myCtrl", function($scope) {  
  $scope.products = [
    {id:1, name:'Apple'},
    {id:2, name:'Banana'},
    {id:3, name:'Carrot'}
  ];

  $scope.multipleDemo = {};
  $scope.multipleDemo.selectedProducts = [];
});

和 HTML:

<div ng-app="app" ng-controller="myCtrl">
  <ui-select multiple ng-model="multipleDemo.selectedProducts" theme="bootstrap" ng-disabled="disabled">
    <ui-select-match class="ui-select-match" placeholder="Επιλογή προϊόντος...">{{$item.name}}</ui-select-match>
     <ui-select-choices class="ui-select-choices" repeat="product in products | propsFilter: {name: $select.search}">
      <div ng-bind-html="product.name | highlight: $select.search"></div>
    </ui-select-choices>
  </ui-select>
  <div>
    Selected: {{multipleDemo.selectedProducts}}
  </div>
</div>

此外,我必须在模块上定义一个 propsFilter

app.filter('propsFilter', function() {
  ...
});

并确保 ngSanitize 作为依赖包含在内:

var app = angular.module('app', ['ui.select', 'ngSanitize']);