Здравствуйте.
Моя задача заключается в том что бы при выборе значения из селектов, сразу проставлялась сумма в последнем элементе строки(input Итоговое значение).
Сам html c php следующий:
<tbody>
<? foreach ($arResult["UserQuestion"] as $key => $value): ?>
<tr><td>Отдел - <?= $key ?></td></tr>
<? foreach ($value as $ki => $inputquestion): ?>
<tr>
<td ><?= $ki ?></td>
<? foreach ($inputquestion as $kq => $questionvalue): ?>
<? foreach ($questionvalue as $kv => $que): ?>
<td><?if($que != "Итоговое значение") :?>
<select onchange="OnSelectionChange(this)" class="sel_val" name="val_name[<?=$ki?>][<?=$que?>][]"><option value=""></option><option value="1">1</option><option value="0">0</option><option value="-1">-1</option></select>
<?else :?>
<input name="val_name" class="itoginp" type="text" />
<?endif;?>
</td>
<? endforeach; ?>
<? endforeach; ?>
<? endforeach; ?>
</tr>
<? endforeach; ?>
</tbody>
На select установил событие onchange="OnSelectionChange(this)", функцию написал следующим образом:
function OnSelectionChange (_this) {
var tr = $(_this).closest('tr');//находим ближайшего родителя tr
var sum = 0;
//в родителе находим все селекты и суммируем значения
tr.find('.sel_val').each(function(){
sum += $(this).val();
});
//в родителе находим итоговый инпут и меняем итоговое значение
tr.find('.itoginp').val(sum);
}
Но итоговое значение в input всегда проставляется 0.
Подскажите, пож-та, в чем заключается ошибка? Может есть более лаконичное и правильное решение моей задачи.
Заранее спасибо