Я динамически рендеринга флажок и COMBOBOX полей и выполнение следующих функций:Включение/выключение поля флажок с Angular2
- на основе ответа API, если поле появится флажок, как выбран, то выпадающий выглядит как включить еще его будет отключено.
- Если пользователь выбрал поле флажок, то выпадающий следует включить либо еще с ограниченными возможностями поля
поле со списком работ работы в первом случае, но не работает во втором случае. Состояние (включение или выключение) не может быть изменено позже.
Вот мой шаблон фрагмент:
< 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);
}
Я могу решить. Код работает нормально, единственная проблема заключается в том, что в дереве DOM существует повторяющийся элемент. –
Какой дублирующий элемент? Вы имеете в виду несколько элементов выбора? В чем проблема? –
Нет, идентификатор, который элемент получает динамически, дублируется с другим элементом. –