Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
301 views
in Technique[技术] by (71.8m points)

html - Angular 9 [disabled] /[attr.disabled]/[attr.readonly] doesnt work on select

I have a dropdown which I would like to disable but none of the below helps.

<select style="margin-left: 5px; margin-right: 12px;" id="country-select" #countrySelect
            [attr.disabled]="shipperCountryDisabled">
              <option id="country-option-{{country.cnyCd}}" value="{{country.cnyCd}}"
                *ngFor="let country of this.getCountryList();">
                {{country.cnyCd}}</option>
</select>

ts code

'''
this.shipperCountryDisabled=true;
'''

I have tried [attr.disabled],[disabled],[attr.readonly] but nothing helps.

question from:https://stackoverflow.com/questions/65908611/angular-9-disabled-attr-disabled-attr-readonly-doesnt-work-on-select

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Your provided code looks correct. You may have a problem elsewhere but you'd need to provide more detail before we could help. Here's a StackBlitz sample where [disabled] is bound to a component property.

app.component.html

<select [disabled]="selectDisabled">
  <option value="Option 1">Option 1</option>
  <option value="Option 2">Option 2</option>
  <option value="Option 3">Option 3</option>
  <option value="Option 4">Option 4</option>
</select>
<input type="button" (click)="selectDisabled = !selectDisabled" value="Toggle">

app.component.ts

import { Component } from "@angular/core";

@Component({
  selector: "my-app",
  templateUrl: "./app.component.html",
  styleUrls: ["./app.component.css"]
})
export class AppComponent {
  selectDisabled: boolean = true;
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...