gpt4 book ai didi

javascript - 如果数组中已存在 id 则隐藏特定的 ng-option

转载 作者:行者123 更新时间:2023-12-03 11:52:18 25 4
gpt4 key购买 nike

我有一个下拉菜单,可以在页面上添加绑定(bind)到 $scope 的项目。我基本上想确保不向数组中添加 double ,因此我的想法是隐藏该选项(如果该选项已存在于数组中)。我不知道是否可以做这样的事情,因为 ng-options 位于 select 内部,所以我不知道是否可以首先向它们附加 ng-hide。

无论如何,如果可能的话,如果它的 id 已经存在于范围中,我想隐藏该选项。

我想你只是循环遍历每个并检查,这是我的尝试

$scope.checkifExist = function () {
var ifExist = false;
angular.forEach($scope.promptsPlease, function (data) {

if (data.id == $scope.promptsPlease.id){

ifExist = true;
}

});
return ifExist;

};

因此 Controller 中的选择看起来像

  <select ng-model="fadingSelected" ng-options="type.name for type in fadingTypes track by type.id" ng-hide="checkIfExist()">
</select>

我不知道这是否可能,而且我认为我的做法可能完全错误。这个想法只是为了让我不能将相同的一个添加到绑定(bind)到范围的数组中两次。它不一定非要隐藏,这样就很好了。任何帮助,将不胜感激!感谢您的阅读。

最佳答案

之前的答案可能适用于您的问题 ( https://stackoverflow.com/a/19329910/1036025 )。

这是包含的演示(plunker):http://plnkr.co/edit/Sf3el0FyUptWq28XqZnI?p=preview

它说明了实现这一目标的 3 种方法。一种是使用库 lodash 来操作数据并创建可用选项的过滤列表,而不是使用 angular.each

我建议您查看说明中的第三个解释选项(或者使用过滤器)。

关于javascript - 如果数组中已存在 id 则隐藏特定的 ng-option,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25770349/

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