умножение полей ввода внутри списка с использованием jquery - PullRequest
0 голосов
/ 28 июня 2009

У меня есть просмотр списка со строками списков счета-фактуры (которые можно редактировать), каждая строка счета-фактуры имеет количество и тариф, и я хочу показать общее количество строк на клиентском шоу, поэтому, если количество или тариф изменено, общее количество изменяется до обратной передачи.

Я применил приведенное ниже, которое дает правильный результат, но не работает с несколькими позициями. Поля qty и rate имеют имя класса decimal, и когда они покидают фокус, он обновит итоговое значение строки, как показано ниже, но мне нужно ограничить его, чтобы обновлять только итоговое значение текущей строки, но не вводить итоговое значение всех строк с суммой первой записи.

$(".decimal").blur(function() {           
       $(".total").val($(".qty").val() * $(".rate").val());

    });

1 Ответ

1 голос
/ 28 июня 2009

Это должно быть возможно, но нам нужно посмотреть, как ваш HTML настроен для рекомендации конкретного кода.

По сути, в функции, вызываемой при срабатывании события размытия, у вас есть доступ к $ (this), который будет представлять конкретное поле, в котором произошло событие размытия. Вы должны иметь возможность использовать селекторы jQuery, чтобы установить сумму для конкретного поля, которое имеет класс .total и находится в той же строке, что и $ (this).

Пример: если ваш HTML выглядел так:

<div>
     <input type="text" class="decimal qty"> <input type="text" class="decimal rate"> <input type="text" class="total">
<div>

(повторяется, конечно, для разных рядов)

Тогда целевое итоговое поле всегда будет родственным десятичному полю запуска, так что, например, вы можете сделать

$(this).parent().filter(".total").val(//and set your values here)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...