Javascript 如何从单选择角度获取“包含对象的选定选项”

Javascript 如何从单选择角度获取“包含对象的选定选项”,javascript,html,angular,typescript,rxjs,Javascript,Html,Angular,Typescript,Rxjs,我有如下对象数组: var GlobalArray = [{'id':1,'Name':"ABC"},{'id':2,'Name':"XYZ"}] 我想在选择下拉列表时得到对象值,但我没有得到 <select [(ngModel)]="docvalue" (change)="modify($event.target.value)" > <option *ngFor="let fop of GlobalArray " [value]="fop" selected]="f

我有如下对象数组:

var GlobalArray = [{'id':1,'Name':"ABC"},{'id':2,'Name':"XYZ"}]
我想在选择下拉列表时得到对象值,但我没有得到

<select [(ngModel)]="docvalue" (change)="modify($event.target.value)" >
    <option *ngFor="let fop of GlobalArray " [value]="fop" selected]="fop.Name.IsSelected" >
      <h6>{{fop.Name}}</h6>
    </option>
</select>
请像下面这样使用

<option *ngFor="let fop of GlobalArray " [ngValue]="fop.Name" [selected]="fop.Name.Name === 'ABC">
它将选择 数组中的{'id':1,'Name':ABC}选项 希望这对您有所帮助

请像下面这样使用

<option *ngFor="let fop of GlobalArray " [ngValue]="fop.Name" [selected]="fop.Name.Name === 'ABC">
它将选择 数组中的{'id':1,'Name':ABC}选项 希望这对您有所帮助

您可以在ngModelChange上传递$event并使用[value]=fop.Name

试试这个:

<select [(ngModel)]="docvalue" (ngModelChange)="modify($event)" >
    <option *ngFor="let fop of GlobalArray " [value]="fop.Name" [selected]="fop.Name.IsSelected" >
      <h6>{{fop.Name}}</h6>
    </option>
</select>
以下是工作模式

您可以在ngModelChange上传递$event并使用[value]=fop.Name

试试这个:

<select [(ngModel)]="docvalue" (ngModelChange)="modify($event)" >
    <option *ngFor="let fop of GlobalArray " [value]="fop.Name" [selected]="fop.Name.IsSelected" >
      <h6>{{fop.Name}}</h6>
    </option>
</select>
这是值中的工作

绑定fop.id,如果需要选定对象,只需使用.find

试着这样做:

.html

在值中绑定fop.id,如果需要所选对象,只需使用.find即可

试着这样做:

.html

像这样试试

使用[ngValue]代替[value],并将docvalue传递给modifydocvalue函数

工作

像这样试试

使用[ngValue]代替[value],并将docvalue传递给modifydocvalue函数

工作部件:

GlobalArray = [{'id':1,'Name':"ABC"},{'id':2,'Name':"XYZ"}];

// Choose whatever you want as the selected option on page load. 
// Set null if none to be selected.
docvalue = this.GlobalArray.find(x => x.id == 1); 

modify(){
  console.log(this.docvalue);
}
HTML:

由于您使用的是双向绑定,因此只需使用this.docvalue即可获得所选值

组成部分:

GlobalArray = [{'id':1,'Name':"ABC"},{'id':2,'Name':"XYZ"}];

// Choose whatever you want as the selected option on page load. 
// Set null if none to be selected.
docvalue = this.GlobalArray.find(x => x.id == 1); 

modify(){
  console.log(this.docvalue);
}
HTML:

由于您使用的是双向绑定,因此只需使用this.docvalue即可获得所选值

尝试以下操作:使用ngModelChange=modify$event而不是change=modify$event.target.value并将[value]=fop更改为[value]=fop.Name

尝试以下操作:使用ngModelChange=modify$event而不是change=modify$event.target.value并将[value]=fop更改为[value]=fop.Name

代替[value]=fop使用[ngValue]=fop代替[value]=fop使用[ngValue]=fop
GlobalArray = [{'id':1,'Name':"ABC"},{'id':2,'Name':"XYZ"}];

// Choose whatever you want as the selected option on page load. 
// Set null if none to be selected.
docvalue = this.GlobalArray.find(x => x.id == 1); 

modify(){
  console.log(this.docvalue);
}
<select [(ngModel)]="docvalue" (change)="modify()" >
    <option  *ngFor="let fop of GlobalArray " [ngValue]="fop">
      <h6>{{fop.Name}}</h6>
    </option>
</select>
<select [(ngModel)]="docvalue" (ngModelChange)="modify($event)" >
        <option *ngFor="let fop of GlobalArray " [value]="fop.Name" >
          <h6>{{fop.Name}}</h6>
        </option>
</select>