J'utilise Angular2 et j'ai 2 Selects:angulaire 2/personne à mobilité réduite a permis de sélectionner des options
<div ng-controller="ExampleController">
<form name="myForm">
<label for="companySelect"> Company: </label>
<select name="companySelect" id="companySelect">
<option *ngFor="let company of companies"
value="{{company.id}}"> {{company.name}}
</option>
</select>
<label for="documentTypeSelect"> Type: </label>
<select name="documentTypeSelect" id="documentTypeSelect">
<option value="type1">type1</option>
<option value="type2">type2</option>
<option value="type3">type3</option>
</select>
</form>
<hr>
</div>
Je souhaite modifier deuxième sélectionnez les options en fonction de la première sélection. Je peux obtenir les types (valeur booléenne) en utilisant
company.companyRelations.pop(). Type1
company.companyRelations.pop(). Type2
Et maintenant, si par exemple type1 est false, l'option de second select doit être désactivée et si type2 est true, l'option doit être activée. Est-ce possible?
EDIT:
entreprises dans select ont deasdv, propriétés INVOIC et commandes qui sont vraies ou fausses. Comment puis-je passer ces propriétés dans les propriétés component.ts? Est-ce possible par événement ou quoi? Je veux par exemple
company.companyRelations.pop(). DESADV
Pour la société qui est sélectionné et il va changer les options handicapés dans le second.
html
<form name="myForm">
<label for="companySelect"> Company: </label>
<select class="form-control" name="companySelect" id="companySelect"
[(ngModel)]="companySelect" (ngModelChange)="onChange($event)">
<option [ngValue]="undefined" disabled selected>Select...</option>
<option *ngFor="let company of companies" [ngValue]="company.id">
{{company.name}}</option>
</select>
<select name="documentTypeSelect" id="documentTypeSelect">
<option [ngValue]="undefined" disabled selected>Select...</option>
<option [disabled]="!desadv" value="desadv">desadv</option>
<option [disabled]="!invoic" value="invoic">invoic</option>
<option [disabled]="!orders" value="orders">orders</option>
</select>
</form>
component.ts
desadv: boolean = false;
invoic: boolean = false;
orders: boolean = false;
et ici, il sera quelque chose comme:
onChange(event) {
if(event.desadv) {
this.desadv = true;
}
}
Ma solution:
html
<form name="myForm">
<label for="companySelect"> Company: </label>
<select name="companySelect" id="companySelect" [(ngModel)]="companySelect"
(ngModelChange)="onChange($event)">
<option [ngValue]="undefined" disabled selected>Select...</option>
<option *ngFor="let company of companies" [ngValue]="company">
{{company.name}}</option>
</select>
<label for="documentTypeSelect"> Type: </label>
<select name="documentTypeSelect" id="documentTypeSelect">
<option [ngValue]="undefined" disabled selected>Select...</option>
<option [disabled]="!desadv" value="desadv">desadv</option>
<option [disabled]="!invoic" value="invoic">invoic</option>
<option [disabled]="!orders" value="orders">orders</option>
<option [disabled]="!recadv" value="orders">recadv</option>
<option [disabled]="!shipment" value="orders">shipment</option>
</select>
component.ts
onChange(event) {
this.desadv = event.companyRelations[0].desadv;
this.invoic = event.companyRelations[0].invoic;
this.orders = event.companyRelations[0].orders;
this.recadv = event.companyRelations[0].recadv;
this.shipment = event.companyRelations[0].shipment;
}
si [disabled] = "! DESADV" ce sera l'activer dans la liste d'options. Voulez-vous désactiver ** [disabled] = "desadv" ** change it – Chandru
Il doit être désactivé au début, et si la propriété de l'entreprise est activée, elle changera alors, alors c'est OK. – Helosze
Ok, j'ai résolu ceci. – Helosze