2016-12-06 2 views
1

Я динамически рендеринга флажок и COMBOBOX полей и выполнение следующих функций:Включение/выключение поля флажок с Angular2

  1. на основе ответа API, если поле появится флажок, как выбран, то выпадающий выглядит как включить еще его будет отключено.
  2. Если пользователь выбрал поле флажок, то выпадающий следует включить либо еще с ограниченными возможностями поля

поле со списком работ работы в первом случае, но не работает во втором случае. Состояние (включение или выключение) не может быть изменено позже.

Вот мой шаблон фрагмент:

< tr *ngFor="let widgetAttribute of _preferencesWidget"> 

< td *ngFor="let subattribute of widgetAttribute.methods"> 

< select *ngIf="subattribute.name == 'Email' && subattribute.type == 'LIST'" id="{{subattribute.name}}Check" class="selectpicker" data-max-options="1" (change)="validateCombo($event)" 
                  [disabled]="!subattribute.enabled"> 
                   <option *ngFor="let subValue of subattribute.values" value="{{subValue.code}}" [selected]="subValue.code == subattribute.selected">{{subValue.description}}< /option> 
                  < /select> 
< /td> 
< /tr> 

Сформированный идентификатор для чекбокса: InformationCheck и выпадающего списка является: pensionMCheck

Моего компонент логики:

public validateCombo() { 

    if (this.pensionCheck) { 
     $('#pensionMCheck').prop('disabled', false); 
     if ($('#pensionMCheck').val() === 'Y') { 
      this.pensionMCheck = true; 
     } else { 
      this.pensionMCheck = false; 
     } 
    } else { 
     this.pensionMCheck = false; 
     $('#pensionMCheck').val('N'); 
     $('#pensionMCheck').prop('disabled', true); 
     $('#pensionMCheck').prop('selectedIndex', 0); 
    } 

ответ

1

Bind статус Флажок собственности (isChecked) и связать enabled из <select> к тем же свойством:

<input type="checkbox" [(ngModel)]="isChecked"> 
<select [(ngModel)]="selectedItem" [enabled]="!isChecked" 
+0

Я могу решить. Код работает нормально, единственная проблема заключается в том, что в дереве DOM существует повторяющийся элемент. –

+0

Какой дублирующий элемент? Вы имеете в виду несколько элементов выбора? В чем проблема? –

+0

Нет, идентификатор, который элемент получает динамически, дублируется с другим элементом. –

Смежные вопросы