Отправить выбор флажка в массив внутри объекта в виде строки - PullRequest
1 голос
/ 04 августа 2020

У меня есть сложный объект структуры

JSON{
     alpha{
           array1[
                  obj1{},
                   obj2{}
                 ]
          }
   }

Наряду с array1 я хочу отправить еще один массив: array2, который будет содержать только строки. Таким образом, структура будет такой:

JSON{
     alpha{
           array1[
                  obj1{},
                   obj2{}
                 ],
           array2[
                  "string1",
                  "string2"
                 ]
          }
   }

В HTML У меня есть 2 флажка. Если пользователь устанавливает флажок, флаг устанавливается в значение true. Теперь для флажка, флаг которого истинен, я хочу отправить строку в array2, которую я хочу поместить sh в эту сложную json структуру.

<input type="checkbox" value="ABC" name="ABC" [(ngModel)]="firstThreeAlphabets" (change)=isSelected1($event)>
<input type="checkbox" value="XYZ" name="XYZ" [(ngModel)]="lastThreeAlphabets" (change)="isSelected2($event)>

В файле TS Я реализовал

abc: boolean;
xyz: boolean;
ngOnInit(){
this.abc = false;
this.xyz = false;
}
isSelected1(event){
if (abc = true) {
   this.array2.abc = 'First three alphabets are ABC';
}else {
   this.array2.abc = '';
}
}
isSelected2(event){
if (xyz = true) {
   this.array2.xyz = 'Last three alphabets are XYZ';
}else {
   this.array2.xyz = '';
}
}

Я успешно могу преобразовать sh array2 в сложный объект. Теперь проблема в том, что для ab c и xyz всегда установлено значение true, даже когда я снимаю флажок. Таким образом, условие if всегда верно. Таким образом, моя функциональность нарушается В файле TS я хочу установить что-то вроде: если выбрано firstThreeAlphabets, я хочу установить переменную и назначить следующую строку: First three alphabets are A,B,C, и если выбран второй флажок, следующая строка будет храниться в array2: Last three alphabets are X,Y,Z. Если выбраны оба, мне нужно отправить две строки на array2. После сохранения в массиве мне нужно поместить sh массив в сложный объект, как показано, и передать этот последний объект в почтовый запрос.

Ответы [ 2 ]

1 голос
/ 05 августа 2020

Я немного изменил ваш код, посмотрите, пожалуйста https://stackblitz.com/edit/angular-ce3wy8

0 голосов
/ 04 августа 2020

Насколько я понял, создайте пустой массив и sh выбранных значений в этот массив. Затем замените этот массив на array2 в своем объекте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...