Обновление суммы при изменении таблицы (добавление, удаление, фокус, тип ...) - PullRequest
0 голосов
/ 20 июля 2010

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

Хотелось бы, чтобы функция суммы запускалась при добавлении / удалении строки (tr), нажатии клавиш, фокусировке ...

Кстати: я клонирую строки таблицы, поэтому они создаются динамически.

Спасибо!

$(".val_field:input").live("focusout", function(){
    val = parseFloat( $(this).val() );
    sum += isNaN(val) ? 0 : val;
    $("#sum").val( sum );
});

1 Ответ

0 голосов
/ 11 апреля 2013

Этот вопрос старый, но любой ответ может быть полезен

function recount(el){
    var sum = 0;
    el.parents('table').find('.val_field:input').each(function(){
        var val = parseFloat( $(this).val() );
        sum += isNaN(val) ? 0 : val;
    });
    $("#sum").val( sum );
}

$('table').on('keypress blur', '.val_field:input', function(){
    recount($(this));
});

Конечно, вы можете применить recount() и к удалению строк (поэтому я его разложил).

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