我试图计算重力窗体列表栏的总和, 不幸的是这不是包含在主要的插件功能,所以我不得不寻找不同的源来完成这一点。我能找到一个应该做到这一点的脚本,可在这里, jsFiddle重力形式查找琛列表列的
function calculateLFColumnTotal(formId, columnClass, totalFieldId, currency) {
var columnTotal = 0,
preField = '#field_' + formId + '_' + totalFieldId,
totalField = jQuery('#input_' + formId + '_' + totalFieldId),
cellValue;
currency = (currency && typeof gf_global !== 'undefined');
jQuery(columnClass).each(function() {
cellValue = jQuery(this).val();
cellValue = (currency) ? gformToNumber(cellValue) : cellValue;
columnTotal += parseFloat(cellValue) || 0;
});x
if (jQuery(preField).hasClass('gfield_price')) {
columnTotal = gformFormatMoney(columnTotal);
if (jQuery(preField + ' input').length > 1) {
totalField.html(columnTotal);
totalField = jQuery('input[name="input_' + totalFieldId + '.2"]');
}
} else {
columnTotal = (currency) ? gformFormatMoney(columnTotal) : columnTotal;
}
totalField.val(columnTotal).change();
gformCalculateTotalPrice(formId);
}
function listFieldColumnTotal(formId, fieldId, column, totalFieldId, currency) {
var listField = '#field_' + formId + '_' + fieldId,
columnClass = '.gfield_list_' + fieldId + '_cell' + column + ' input';
jQuery(listField).on('blur', columnClass, function() {
if (currency && typeof gf_global !== 'undefined') {
gformFormatPricingField(this);
}
calculateLFColumnTotal(formId, columnClass, totalFieldId, currency);
});
jQuery(listField).on('click', '.add_list_item', function() {
jQuery(listField + ' .delete_list_item').removeProp('onclick');
});
jQuery(listField).on('click', '.delete_list_item', function() {
gformDeleteListItem(this, 0);
calculateLFColumnTotal(formId, columnClass, totalFieldId, currency);
});
}
listFieldColumnTotal(140, 1, 3, 3, true);
不过,我不能确定哪些元素我应该改变,哪些应该保留原样的。如果有人有这方面的经验,并能指导我朝着正确的方向发展,那将会很棒。