我有2个下拉菜单。
我正在使用产品代码(第一个下拉菜单)和产品名称(第二个下拉菜单)填充商品。我需要根据选择禁用下拉菜单。假设我选择了第一个下拉菜单,然后禁用了第二个下拉菜单。反之亦然,选择第二个下拉菜单,然后需要禁用第一个下拉菜单。
<select id="Code" class="form-control" placeholder="Code"
disabled="stockForm.get('productName')?.value"
formControlName="productId" required>
<option [value]="''">Select Code</option>
<option [value]="product.productId"
*ngFor="let product of productData">
{{product.sku}}
</option>
</select>
<select id="name" class="form-control" placeholder="Name"
disabled="stockForm.get('productId')?.value"
formControlName="productName" required>
<option [value]="''">Select Name</option>
<option [value]="product.productName"
*ngFor="let product of productData">
{{product.productName}}
</option>
</select>
下面提供的代码是您所需要的,如果用户再次选择选择的选项,则所有下拉菜单都将启用,以便他们可以重新选择另一个下拉菜单。
双向数据绑定([(disabled)] =“ productNameSelected”)用于执行此操作。
HTML:
<select id='selectProductCode' (change)="productCodeChanged($event)" [(disabled)]="productNameSelected" >
<option value="0">Choose code </option>
<option value="1">Code1</option>
<option value="2">Code2</option>
</select>
<select id='selectProductName' (change)="produvtNameChanged($event)" [(disabled)]="productCodeSelected" >
<option value="0">Choose name </option>
<option value="1">Name1</option>
<option value="2">Name 2</option>
</select>
Type Script:
productCodeSelected: boolean = false;
productNameSelected: boolean = false;
productCodeChanged(args) {
var value = args.target.value;
if (value > 0) {
this.productCodeSelected = true;
}
else {
this.productCodeSelected = false;
}
}
produvtNameChanged(args) {
var value = args.target.value;
if (value > 0) {
this.productNameSelected = true;
}
else {
this.productNameSelected = false;
}
}