gpt4 book ai didi

javascript - 如何从排除特定选项的数组创建下拉列表-AngularJs

转载 作者:行者123 更新时间:2023-11-29 21:16:43 25 4
gpt4 key购买 nike

好的,我有这张表,它在下拉列表中列出了所有员工和他们的主管。(下拉列表中的前两个选项始终存在,其他选项是否存在取决于天气与否,它们已被选为主管列中的主管)

EmployeeTable

现在我遇到的问题是无法选择某人作为他/她自己的主管

在 HTML 中,表格行只是使用

创建的
ng-repeat="employeeInfo in employees"

下拉选择选项是这样加载的

ng-options="supervisor.id as (supervisor.name + ' ' + supervisor.lastname + ' ' + supervisor.id) for supervisor in supervisorList"

如何在可用主管的下拉列表中排除此人本人?

最佳答案

更新:EDIT 3 是可行的解决方案


你应该像这样添加一个ng-if

ng-repeat="employeeInfo in employees" ng-if="employeeInfo.id!=currentEmployee.id"

(我想你有一个 Angular 变量 currentEmployee 可以用于这样的检查)

编辑

尝试在下拉选择的 ng-options 之后添加这个 ng-if

ng-options="supervisor.id as (supervisor.name + ' ' + supervisor.lastname + ' ' + supervisor.id) for supervisor in supervisorList" ng-if="employeeInfo.id!=supervisor.id"

编辑 2

在执行生成下拉列表的ng-options之前,执行这段代码

supervisorListCopy = $filter('filter')(supervisorList, function(value, index) {return value.id !== employeeInfo.id;})

然后您可以使用过滤后的列表生成下拉列表

ng-options="supervisor.id as (supervisor.name + ' ' + supervisor.lastname + ' ' + supervisor.id) for supervisor in supervisorListCopy"

编辑 3

最简单的方法是在 ng-options 旁边应用过滤器,如下所示

ng-options="supervisor.id as (supervisor.name + ' ' + supervisor.lastname + ' ' + supervisor.id) for supervisor in supervisorListCopy | filter: '!' + employeeInfo.id"

关于javascript - 如何从排除特定选项的数组创建下拉列表-AngularJs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39147386/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com