ngModel со списком выбора - PullRequest
       22

ngModel со списком выбора

0 голосов
/ 11 декабря 2018

У меня проблемы с выводом значения из элемента select.

<select 
([ngModel])="office_hour_start" 
name="office_hour_start">
  <option 
    *ngFor="let time of times"
    value="{{time.i}}">
    {{ time.i }}
  </option>
</select>

Эта настройка сработала для меня здесь:

<select 
  [(ngModel)]="employee_id" 
  name="employee_id" 
  class="form-control">
    <option 
      *ngFor="let employee of employees"
      value="{{employee.id}}">
      {{ employee.name }}
    </option>
</select>

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

На настройке, которая работала для вас, одно дополнительное предложение будет:

// When using an ngModel, an event emitter () should be inside the input [] always 
// Though there is an instance where you can use it separately [ngModel] for Input (ngModelChange) for event emitter
<select [(ngModel)]="employee_id"           
        name="employee_id" 
        class="form-control">

    <option *ngFor="let employee of employees"
            value="{{employee.id}}">       // use [value]="employee.id" if you're assigning a dynamic value
        {{ employee.name }}
    </option>

</select>

А для случая office_hour_start это его ngModel.Вы использовали ([ngModel]) = "office_hour_start" вместо [(ngModel)] = "office_hour_start", помещая скобки в скобки [], это способ исправить это.

Создал Stackblitz Demo для вашей справки

0 голосов
/ 11 декабря 2018
    <select ng-options="time as time.i for time in office_hour_start track by time.id" ng-model="selected">
<option value="{{time.i}}">{{time.i}}</option>
</select>

надеюсь, это поможет, используйте ng-options вместо ng-for

...