如何在 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']);
我在 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']);