Используйте оператор +=
вместо +
, чтобы добавить число к промежуточному итогу.
//...
else if (cb1){ event.value += this.getField("Totaldays").value*0; }
else if (cb2){ event.value += this.getField("Totaldays").value*30; }
else if (cb3){ event.value += this.getField("Totaldays").value*20; }
else if (cb4){ event.value += this.getField("Totaldays").value*0; }
else if (cb5){ event.value += this.getField("Totaldays").value*40; }
else if (cb6){ event.value += this.getField("Totaldays").value*0; }
else if (cb7){ event.value += this.getField("Totaldays").value*0; }
Тем не менее, вероятно, есть лучший способ сделать то, что вы хотите сделать.Если вы предоставите немного больше контекста, я могу уточнить для вас свой ответ.
Рассмотрим этот более чистый блок кода, который дает тот же результат, что и код выше, но самодокументирует логику и данные.
let totalDays = this.getField("Totaldays").value;
[
{checked: cb1, rentalRate: 0},
{checked: cb2, rentalRate: 30},
{checked: cb3, rentalRate: 20},
{checked: cb4, rentalRate: 0},
{checked: cb5, rentalRate: 40},
{checked: cb6, rentalRate: 0},
{checked: cb7, rentalRate: 0}
]
.filter(item => item.checked)
.forEach(item => {
let rentalFee = item.rentalRate * totalDays;
event.value += rentalFee;
});