У меня возникла интересная проблема. У меня есть таблица с тремя столбцами и несколькими строками. Каждая строка добавляется с событием клика, которое поддерживается модулем таблицы таблиц Drupal, что делает вызов ajax для увеличения количества строк. В 2 столбцах он принимает числовые данные, а мой код jQuery выполняет вычисления в третьем столбце. Но по мере увеличения рядов функции keyup становятся супер медленными, но для первых нескольких строк он отлично работает. Ниже приведены мои фрагменты кода jQuery:очень медленный ответ от функции jQuery keyup
$('#edit-field-project-resrc-budget-fund input.tablefield-col-1, #edit-field-project-resrc-budget-fund input.tablefield-col-2').keyup(function(index,value){
var sum_cell_column;
var $tr = $(this).closest('tr');
var Row = $tr.index();
var cell_value1=Number($('#edit-field-project-resrc-budget-fund input#tablefield_0_cell_'+Row+'_1').val().replace(/[^0-9\.]+/g,""));
var cell_value2=Number($('#edit-field-project-resrc-budget-fund input#tablefield_0_cell_'+Row+'_2').val().replace(/[^0-9\.]+/g,""));
sum_cell_column =(cell_value1+cell_value2);
$('#edit-field-project-resrc-budget-fund input#tablefield_0_cell_'+Row+'_3').val(sum_cell_column).formatCurrency();
});
Есть ли у кого-нибудь идеи, как решить эту проблему?
Try '$ ('# редактировать поля-проект-resrc-бюджетный фонд'). На ('KeyUp', 'tablefield-Col-1, .tablefield-Col-2') .keyup (function (e) { var $ tr = $ (this) .closest ('tr'); var cell_value1 = Number ($ tr.find ('. tablefield-col-1'). val(). замените (/ [^ 0-9 \.] +/g, "")); var cell_value2 = Number ($ tr.find ('. tablefield-col-2'). val(). replace (/ [^ 0-9 \.] +/G, "")); var sum_cell_column = (cell_value1 + cell_value2); $ tr.find ('. Tablefield-col-3'). Val (sum_cell_column) .formatCurrency(); }); ' –
- это гораздо более чистая версия, а также предполагает, что поле ввода суммы h как класс 'tablefield-col-3' –
сколько строк у вас есть, и что именно вы подразумеваете под« супер медленным »? –