javascript - 根据您之前选择的内容过滤 Angular 下拉功能

标签 javascript angularjs ng-options

我正在尝试根据您在上一个选项中选择的内容来过滤 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-model,因为我正在使用该对象属性。

<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选项。请参阅 Plunker

关于javascript - 根据您之前选择的内容过滤 Angular 下拉功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35979389/

相关文章:

javascript - React中setState增量和每次增量1有什么区别

javascript - 有没有什么方法可以在不使用 jQuery 的情况下在 Angular 所见即所得指令中使用 colorPicker

javascript - 与对象 angularjs 组件绑定(bind)的一种方式

javascript - Angular 多选

angularjs - 基于 SELECT 和输入值的过滤器

javascript - 两个具有相同值的下拉列表。如果用户在第一个下拉列表中选择了一个值,则必须在第二个下拉列表中禁用该值

php - HTML、CSS、JAVASCRIPT、PHP——把它们放在一起

javascript - 如何使用 JavaScript 更改复选框背景

javascript - 根据 ui.router 状态隐藏元素根本不起作用

javascript - 在 Javascript 中将图像输入到数组中,然后将它们显示在表格中