我陷入了一個有趣的問題。我有一個3列和一些行的表。每行都添加了一個Click事件,該事件由Drupal tablefield模塊支持,該事件使ajax調用來增加行數。在2列中它接受數字數據,我的jQuery代碼在第三列進行計算。但隨着行數的增加,keyup函數變得非常慢,但對於前幾行,它工作正常。下面是我的jQuery代碼片段:jQuery的密碼功能反應很慢
$('#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();
});
有沒有人有一個想法如何解決這個問題?
嘗試'$( '#編輯場項目RESRC預算基金')。在( 'KEYUP', 'tablefield-COL-1,.tablefield-COL-2') .keyup(function(e){$ {$ 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' –
你有多少行,你說的「超級慢」是什麼意思? –