2017-09-29 81 views
0

我有两个MD-选择:显示MD-选择如果其他MD-选择 - 选择的值= concrete_value

<form (ngSubmit)="someAction(f)" #f="ngForm"> 
    <md-select 
     #selectedHolidayType 
     placeholder="Holiday type" 
     name="holiday_type" 
     [(ngModel)]="holiday_type" 
    > 
    <md-option *ngFor="let type of types" [value]="type.typeId">{{ type.typeName}}</md-option> 
    </md-select> 

<md-select 
    *ngIf="selectedHolidayType === 19" 
    placeholder="Some placeholder" 
    name="option" 
    [ngModel]="option" 
> 
     <md-option *ngFor="option of options" [value]="option.id">{{option.value}}</md-option> 

</md-select> 
</form> 

如何可以显示第二MD-选择仅当第一MD-选择选定的值被设置为我想要什么,在这种情况下 - 19.

或者也许:我怎样才能获得选定的值在HTML模板中的第一个MD选择?

我已经尝试过:

*ngIf="holiday_type === 19" 
*ngIf="selectedHolidayType.selected === 19" 
*ngIf="selectedHolidayType.selected.value === 19" 

但什么都没有工作。

感谢您的帮助!

回答

0

好吧,我找到了答案:

<md-select 
     #selectedHolidayType 
     placeholder="Holiday type" 
     name="holiday_type" 
     [(ngModel)]="holiday_type" 
    > 
    <md-option *ngFor="let type of types" [value]="type.typeId">{{ type.typeName}} 
    </md-option> 
</md-select> 

<div *ngIf="holiday_type > 0"> 

    <md-select 
    *ngIf="holiday_type == 19" 
    placeholder="Some placeholder" 
    name="option" 
    [ngModel]="option" 
    > 
     <md-option *ngFor="option of options" [value]="option.id">{{option.value}} 
    </md-option> 

    </md-select> 

</div> 

不知道为什么,但如果我换MD-选择在它的工作原理格!

我真的apreciate如果有人能解释这种行为:)

0

我不知道为什么,当你试图*ngIf="holiday_type === 19"没有工作。

这里是它的EXAMPLE这样工作,

<form> 
    <md-select placeholder="Holiday type" 
     name="holiday_type" 
     [(ngModel)]="holiday_type"> 
    <md-option *ngFor="let type of types" [value]="type.typeId">{{ type.typeName }}</md-option> 
    </md-select> 

    <!-- Only show when 19 is selected --> 
    <md-select *ngIf="holiday_type === 19" 
     placeholder="Some placeholder" 
     name="option" 
     [(ngModel)]="option"> 
    <md-option *ngFor="let option of options" [value]="option.id">{{ option.value }}</md-option> 
    </md-select> 

</form> 
+0

哥们,我知道,它应该工作像你在你的答案一样,但它不会; /不知道为什么,这就是为什么我张贴这个问题。你用'* ngFor'中的其余api数据检查了它吗? – esquarial

+0

不,我没有。也许你可以将你的一些课程代码添加到原始文章中?或者在这个答案中分析这个例子,使其更清楚地与你的情况相匹配? –

+0

好的,我会在下班后做:) – esquarial