问题
I have a select html like this:
<select ng-model='nrSelect' class='form-control'>
<option value='47'>47</option>
<option value='46'>46</option>
<option value='45'>45</option>
</select>
How can I select the default value from typescript for example 47 ?
回答1:
You can do this:
<select class='form-control'
(change)="ChangingValue($event)" [value]='46'>
<option value='47'>47</option>
<option value='46'>46</option>
<option value='45'>45</option>
</select>
// Note: You can set the value of select only from options tag. In the above example, you cannot set the value of select to anything other than 45, 46, 47.
Here, you can ply with this.
回答2:
app.component.html
<select [(ngModel)]='nrSelect' class='form-control'>
<option value='47'>47</option>
<option value='46'>46</option>
<option value='45'>45</option>
</select>
app.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent {
nrSelect = 47
}
回答3:
For reactive form, I managed to make it work by using the following example (47 can be replaced with other value or variable):
<div [formGroup]="form">
<select formControlName="fieldName">
<option
*ngFor="let option of options; index as i"
[selected]="option === 47"
>
{{ option }}
</option>
</select>
</div>
回答4:
Correct Way would be :
<select id="select-type-basic" [(ngModel)]="status">
<option *ngFor="let status_item of status_values">
{{status_item}}
</option>
</select>
Value Should be avoided inside option if the value is to be dynamic,since that will set the default value of the 'Select field'. Default Selection should be binded with [(ngModel)] and Options should be declared likewise.
status : any = "47";
status_values: any = ["45", "46", "47"];
回答5:
First or all you are using ng-model which is considered to be an angularjs syntax. Use [(ngModel)]
instead with the default value
App.component.html
<select [(ngModel)]='nrSelect' class='form-control'>
<option value='47'>47</option>
<option value='46'>46</option>
<option value='45'>45</option>
</select>
App.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent {
nrSelect:string = "47"
}
回答6:
I think the best way to do it to bind it with ngModel.
<select name="num" [(ngModel)]="number">
<option *ngFor="let n of numbers" [value]="n">{{n}}</option>
</select>
and in ts file add
number=47;
numbers=[45,46,47]
回答7:
I had similar issues with Angular6 . After going through many posts. I had to import FormsModule as below in app.module.ts .
import {FormsModule} from '@angular/forms';
Then my ngModel tag worked . Please try this.
<select [(ngModel)]='nrSelect' class='form-control'>
<option [ngValue]='47'>47</option>
<option [ngValue]='46'>46</option>
<option [ngValue]='45'>45</option>
</select>
回答8:
i manage this by doing like this =>
<select class="form-control"
[(ngModel)]="currentUserID"
formControlName="users">
<option value='-1'>{{"select a user" | translate}}</option>
<option
*ngFor="let user of users"
value="{{user.id}}">
{{user.firstname}}
</option>
</select>
来源:https://stackoverflow.com/questions/51009331/select-default-option-value-from-typescript-angular-6