gpt4 book ai didi

javascript - AngularJS在选择后过滤剩余的下拉选项

转载 作者:行者123 更新时间:2023-11-28 20:14:40 26 4
gpt4 key购买 nike

如果我正在创建一个允许多个字段搜索的系统,并希望通过下拉菜单(类似于Redmine)来实现这一点,我该如何实现呢?具体部分是,一旦我选择字段“foo”并单击“添加另一个字段”按钮,我将无法再次选择“foo”?

initial fields: {"foo","bar","baz"}  
select fields.foo
add another field
remaining fields = {"bar","baz"}

如果需要澄清,请告诉我。

我找到了一个下拉示例 here .

澄清

设“foo”为整数让“bar”成为一个日期令“baz”为字符串

如果用户添加字段“bar”,我将提供一个日历选择器小部件。如果用户选择“foo”,我确保该数字是有效的整数。
如果用户选择“baz”,我会检查以确保它是有效的字符串。

因此,每个选择都会根据字段选择表现出特定的行为,因此用户必须通过“添加另一个字段”按钮单独选择每个字段。

最佳答案

我已经做过很多次这样的事情了。这是我自己的代码片段。该代码用于允许商业承包商为其公司选择“从属关系”。

在我的 HTML View 中:

<select class="input-full" ng-model="currAff" ng-options="aff for aff in availableAffs | filter:notAlreadyAdded"></select>

请注意上面的 filter:notAlreadyAdded 部分。

在我的 Controller 中:

$scope.notAlreadyAdded = function(aff){
// search through all the affiliations that were previously added
// if the given "aff" is in the previously-added list, return false
// else, return true
};

对选择上的 ng-options 使用 filter:notAlreadyAdded 过滤器将循环遍历选项数组中的每个项目,并将该项目传递给给定的函数。然后,您可以使用该项目进行任何您想要的测试,然后只需返回一个 bool 值,告诉 Angular 是否应该在将来的可能选项列表中包含该项目。

我希望这能回答您的问题。

关于javascript - AngularJS在选择后过滤剩余的下拉选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19383385/

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