如何以角度的ui-select倍数获取所有选定的值

时间:2016-10-09 13:52:09

标签: angularjs ui-select

我在角度中有以下ui-select代码,我希望得到所有选定的值,以便将它们放在一个字符串中。选择效果很好我可以选择产品,但我无法得到我选择的值

<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中的任何东西。 任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

我已根据您问题中的代码创建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']);