我对angular不太熟悉,遇到了一个问题。以下是一个示例jsfiddle
function HelloCntl($scope) {
$scope.selectname1={};
$scope.selectname2={};
$scope.selectname3={};
$scope.filter1 = function(item){
return (!($scope.selectname1&&$scope.selectname1.id)||item.id !=$scope.selectname1.id);
};
$scope.filter2 = function(item){
return (!($scope.selectname2&&$scope.selectname2.id)||item.id!=$scope.selectname2.id);
};
$scope.filter3 = function(item){
return (!($scope.selectname3&&$scope.selectname3.id)||item.id !=$scope.selectname3.id);
};
$scope.friends = [
{
id:1,name: 'John'},
{
id:2,name: 'Mary'},
{
id:3,name: 'Mike'},
{
id:4,name: 'Adam'},
{
id:5,name: 'Julie'}
];
}
<div ng:app>
<div ng-controller="HelloCntl">
<ul>
<li ng-repeat="friend in friends | filter:{name:'!Adam'}">
<span>{{friend.name}}</span>
</li>
</ul>
<select ng-model="selectname1"
ng-options="item as item.name for item in friends|filter:filter2|filter:filter3" ><option value="">- select - </option></select>
<div>{{selectname1}}</div>
<select ng-model="selectname2"
ng-options="item as item.name for item in friends|filter:filter1|filter:filter3" ><option value="">- select -</option></select>
<div>{{selectname2}}</div>
<select ng-model="selectname3" ng-options="item as item.name for item in friends|filter:filter1|filter:filter2" ><option value="">- select -</option></select>
<div>{{selectname3}}</div>
</div>
</div>
我正试图将这段代码实现在一个下拉菜单中,而不是三个菜单。每次点击都会显示所选选项。
我正在尝试的整体功能是创建一个带有项目的下拉菜单。选择这些项目后,它们的名称将在下面打印出来,并带有一个删除按钮。选择一个项目后,它应该自动从下拉菜单中移除,以便不能再使用它。并且可以在下面进一步添加另一个项目(追加)。
不幸的是,我似乎无法弄清楚如何使其工作。 有人能帮我吗?
<select ng-model="s4" ng-options="i as i.name for i in friends"></select><div>{{s4}}</div>
- Aleksey Solovey