Показать сообщение отдельно
  #29 (permalink)  
Старый 16.09.2015, 20:09
Профессор
Отправить личное сообщение для Эдди Посмотреть профиль Найти все сообщения от Эдди
 
Регистрация: 19.06.2010
Сообщений: 279

БЛН. Опять затык. Надеюсь, последний.

Напомню. В динамической таблице с перечислением услуг всем услугам присвоен класс ser_n. Каждая услуга имеет id="serv_num" + i (выводятся в цикле).
Задача при вводе в инпут умножить число на стоимость услуги на 1 человека.
Все умножается. Но поскольку услуги в данном случае 3, то умножается 3 раза.
Как бы исправить функцию, чтобы умножение было только один раз.
Конечно, можно сделать цикл с одной итерацией или прерыванием после первой итерации.
Но криво будет, уверен.
$('div').on('input', 'input.ser_n', function() {
  var $s = $(this).val(); //вводимое число
  var $x = $(this).attr('id').replace('serv_num',''); //порядковый номер услуги
  var $y = $('#serv_c' + $x).text(); //получаю стоимость услуги на 1 человека
  $('#serv_c' + $x).text($y * $s); //умножаю стоимость на 1 человека на вводимое кол-во людей
});
Ответить с цитированием