2 多个 select 和单个选项列表
2 multiple select and single option list
我有 2 个多 select 元素,它们都从变量列表中获取选项。
如果变量 select 编辑为行变量,它将不会显示在列 select 选项中。如果用户 unselect 选项那么变量应该显示在两个列表中
$scope.variables = ['a','b','c','d','e','f'];
<select multiple ng-model="selectedAsRows" ng-options="v for v in variables"></select>
<select multiple ng-model="selectedAsCols" ng-options="v for v in variables"></select>
我想我明白你想要什么了。这是一个 fiddle 示例:
http://jsfiddle.net/26fZb/209/
关键是使用像这样的自定义过滤器:
filter: { name: '!' + selectedAsFriend.name }
编辑:
这是您使用 multiSelect 的案例。我已经创建了自定义过滤器。
app.filter('myFilter', function() {
return function(inputList, list) {
return inputList.filter(isAlreadySelected(list));
};
function isAlreadySelected(list){
return function(elem){
if (list.indexOf(elem) == -1)
return true;
else
return false;
}
}
});
然后在 html 文件中使用它:
<select multiple ng-model="selectedAsRows" ng-options="v for v in variables | myFilter: selectedAsCols"></select>
<select multiple ng-model="selectedAsCols" ng-options="v for v in variables | myFilter: selectedAsRows"></select>
查看完整代码:
我有 2 个多 select 元素,它们都从变量列表中获取选项。 如果变量 select 编辑为行变量,它将不会显示在列 select 选项中。如果用户 unselect 选项那么变量应该显示在两个列表中
$scope.variables = ['a','b','c','d','e','f'];
<select multiple ng-model="selectedAsRows" ng-options="v for v in variables"></select>
<select multiple ng-model="selectedAsCols" ng-options="v for v in variables"></select>
我想我明白你想要什么了。这是一个 fiddle 示例:
http://jsfiddle.net/26fZb/209/
关键是使用像这样的自定义过滤器:
filter: { name: '!' + selectedAsFriend.name }
编辑:
这是您使用 multiSelect 的案例。我已经创建了自定义过滤器。
app.filter('myFilter', function() {
return function(inputList, list) {
return inputList.filter(isAlreadySelected(list));
};
function isAlreadySelected(list){
return function(elem){
if (list.indexOf(elem) == -1)
return true;
else
return false;
}
}
});
然后在 html 文件中使用它:
<select multiple ng-model="selectedAsRows" ng-options="v for v in variables | myFilter: selectedAsCols"></select>
<select multiple ng-model="selectedAsCols" ng-options="v for v in variables | myFilter: selectedAsRows"></select>
查看完整代码: