Javascript根据选中的选项计算值
我的任务是编辑现有的Joomla代码。这是一个javascript文件,它将根据检查的选项计算值。
file.html
2016 “Train-The-Trainer” Workshops
AERIAL
$50.00 per class/person
Sign up for both for $90.00
Additional 2.9% + $0.30 processing fee will be charged with all orders paid by credit card. Please fax or email the order form to the office.
html.js
function getPayPalProcessingFee() { var qty = jQuery('#paypal_submit_form select[name=number_of_members]').val(); qty = parseInt(qty); var cat_buttons = jQuery("input[name=cat]") var current_index = cat_buttons.index(cat_buttons.find(':checked')); switch (current_index){ case 0: return 3*qty; case 1: case 2: return 1.8*qty; } } function trainthetrainerForm_calculateItemAmount() { var qty = jQuery('#paypal_submit_form select[name=number_of_members]').val(); var current_val = jQuery("input[name=cat]:checked").val(); var amount = parseInt(qty) * current_val; amount = parseFloat(amount).toFixed(2); return amount; } function trainthetrainerForm_calculateFee() { var fee = getPayPalProcessingFee(); return fee; } function trainthetrainerForm_displayTotalAmount() { var amount = trainthetrainerForm_calculateItemAmount(); var fee = getPayPalProcessingFee(); var totalamount = parseFloat(amount) + parseFloat(fee); totalamount = parseFloat(totalamount).toFixed(2); jQuery('#paypal_submit_form input[name=tmp_total_amount]').val(totalamount); } function submitTrainthetrainerForm() { var qty = jQuery('#paypal_submit_form select[name=number_of_members]').val(); jQuery('#paypal_submit_form input[name=quantity_1]').val(qty); var totalAmount = 0; var amount = trainthetrainerForm_calculateItemAmount(); var processingFee = trainthetrainerForm_calculateFee(); totalAmount = amount + processingFee; jQuery('#paypal_submit_form input[name=business]').val('shana@same.org'); jQuery('#paypal_submit_form input[name=amount]').val(totalAmount); jQuery('#paypal_submit_form input[name=amount_2]').val(processingFee); jQuery('#paypal_submit_form').submit(); return true; } jQuery(document).ready(function (){ jQuery("#bal_number_of_members").change(function(){ trainthetrainerForm_displayTotalAmount(); }); jQuery("#bal_submit_btn").click(function() { submitTrainthetrainerForm(); }); trainthetrainerForm_displayTotalAmount(); });
如果用户检查输入id = both,则该值将乘以select id = bal_number_of_members的选项值。
否则,如果用户单击输入id = cat-aeral并输入id = cat-loto,则值wold乘以select id = bal_number_of_members的选项值。
我在输入名称temp_total_amount中收到错误NAN。
有帮助吗?
- 你的switch语句需要“break;” 在每个“案例”之后。
-
无论选择什么,这总是返回-1(未找到):
var current_index = cat_buttons.index(cat_buttons.find(’:checked’))
这是一个工作代码:
2016 “Train-The-Trainer” Workshops
AERIAL
$50.00 per class/person
Sign up for both for $90.00
Additional 2.9% + $0.30 processing fee will be charged with all orders paid by credit card. Please fax or email the order form to the office.