过滤器角度下拉功能取决于您之前选择的内容

Filter angular dropdown function depending of what you select previously

本文关键字:选择 取决于 功能 过滤器      更新时间:2023-09-26

我正在尝试根据您在上一个下拉列表中选择的内容过滤 ng-options 下拉列表。这就是我想要实现的目标

如果选择内部第 1 层,则显示所有公司层级

如果选择"内部第 2 层",则显示除"1 - 合作伙伴品牌"之外的所有内容

如果您选择内部第 3 层,则仅显示 3b- 答案品牌

这是我的实际代码。

 $scope.companyData = {
            Category: 0,
            InternalTierId: 0
        };
$scope.lookUps = {
companyTier: [
    { Id: 1, Name: '1 - Partner Branded'},
    { Id: 2, Name: '2 - Co-branded'},
    { Id: 3, Name: '3a - Answer Branded'},
    { Id: 4, Name: '3b - Answer Branded'}
],
internalTier: [
    { Id: 1, Name: 'Tier 1' },
    { Id: 2, Name: 'Tier 2' },
    { Id: 3, Name: 'Tier 3' }
]};

这些是下拉菜单。我无法更改 ng 模型,因为我正在使用该对象属性。

<select class="form-control" name="companyinternaltier" 
ng-required="true" ng-model="companyData.InternalTierId" 
ng-options="item.Id as item.Name for item in lookUps.internalTier">          
<option value="">- Select Internal Tier Level -</option>
<select class="form-control" name="companytier" ng-required="true" 
ng-model="companyData.Category" ng-options="item.Id as item.Name for
item in lookUps.companyTier | filter: filterTiers()"> 
<option value="">- Select Branding Tier Level -</option></select>

我将filterTiers()函数放在过滤器字之后,因为我认为我可以创建一个函数来执行此操作,但我不知道如何处理它

我感谢任何形式的帮助。谢谢

您可以使用

ng-change选项。在普伦克看到