Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

909
Views
Disable option based on method in angular

I'm trying to disable option based on method.

Example I have 4 options:

A
B
C
D

My method (example) :

if(name == A) {
disable select for A.
}

My code:

this.http.getDataFromServer("api/....).subscribe((resp) => {
  
  this.code = resp.data["route"];
  console.log(this.code);
});

In this.code I have multiple data. This is the HTML in the component:

            <div class="form-group">
                <label for="route_code">
                    Route Code
                </label>
                <select type="text" class="form-control" formControlName="route_code" (change)="codeSelected($event.target.value)">

               <option [value]="r.id"  *ngFor="let r of code" [disabled]="disable()">
                        {{r.code}}
                    </option>
                </select>
            </div>

Here I have my HTML code where r.code are the options.

After searching I found [disable] and I can assign it to a method disable()

Component.ts has this code:

disable(){
}

What should I add within the disable method? For example I want to disable an option if r.code == "A". Could you help me out?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

One option would be to pass the value to disable as an argument:

component.html

<div class="form-group">
    <label for="route_code">
        Route Code
    </label>
    <select type="text" class="form-control" formControlName="route_code" (change)="codeSelected($event.target.value)">
        <option [value]="r.id" *ngFor="let r of code" [disabled]="disable(r.code)">
            {{r.code}}
        </option>
    </select>
</div>

component.ts

disable(code: string): boolean {
  return code === "A";
}
over 4 years ago · Santiago Trujillo Report

0

You can pass the current r in your method.

<option [value]="r.id"  *ngFor="let r of code" [disabled]="disable(r)">
        {{r.code}}
</option>

Then in disable method you can receive that value which you passed like this.

disable(r){
 return r.code === "A";
}

This expression will return true or false.

This solution should work.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!