你好javascript专家!
我是这里的新手,正在尝试创建一个脚本来在网站上添加会员费(我是一名志愿者)。任何帮助是极大的赞赏。
我使用这个网站:http ://www.javascript-coder.com/javascript-form/javascript-calculator-script.phtml来设置我的html。
它工作得很好(我设置了 3 个函数,一个用于计算会员价格,另一个用于计算邮资,另一个用于计算应付总额 - 我没有将它们包括在下面,但知道它们工作正常)。
直到我意识到邮资的价值(我仅使用第一个下拉菜单:id=country 计算)也取决于第二个下拉菜单中的金额(第二个下拉菜单的 id:membership_type)。也就是说,邮费不仅由国家决定,而且由会员类型决定。我尝试设置一个脚本,该脚本会根据会员类型的值改变邮资的值,但它不起作用。
正如你所知道的那样,我不是编码员,所以我花了很多时间寻找正确的方法来做到这一点,但已经走到了死胡同......
var membership_prices = new Array();
membership_prices["regular"]=40;
membership_prices["student"]=24;
membership_prices["emeritus"]=24;
membership_prices["regularplus"]=62;
membership_prices["studentplus"]=46;
membership_prices["emeritusplus"]=46;
var extra_postage_cost = new Array();
extra_postage_cost["USA"]=0;
extra_postage_cost["Canada"]=0;
<!-- this is the part that needs work: Edited since original post -->
extra_postage_cost["Other_Country"]
if (document.getElementById('membership_type').value =="regular")
extra_postage_cost["Other_Country"]=8;
else if (document.getElementById('membership_type').value =="student")
extra_postage_cost["Other_Country"]=8;
else if (document.getElementById('membership_type').value =="emeritus")
extra_postage_cost["Other_Country"]=8;
else if (document.getElementById('membership_type').value =="regularplus")
extra_postage_cost["Other_Country"]=16;
else if (document.getElementById('membership_type').value =="studentplus")
extra_postage_cost["Other_Country"]=16;
else if (document.getElementById('membership_type').value =="emeritusplus")
extra_postage_cost["Other_Country"]=16;
else
extra_postage_cost["Other_Country"]=0;
<!-- end of what I believe needs work -->
这是其余的代码:
function getMembershipPrice ()
{
var membershipPrice=0;
var theForm = document.forms["membershipform"];
var selectedMembership = theForm.elements["membership_type"];
membershipPrice = membership_prices[selectedMembership.value];
return membershipPrice;
}
function getExtraPostagePrice ()
{
var extraPostagePrice = 0;
var theForm = document.forms["membershipform"];
var selectedPostage = theForm.elements["country"];
extraPostagePrice = extra_postage_cost[selectedPostage.value];
return extraPostagePrice;
}
function getAmountDue()
{
var amountDue = getMembershipPrice() + getExtraPostagePrice();
document.getElementById('amountDue').innerHTML ="Amount Due $"+amountDue;
}
在下拉菜单本身中,我在每个下拉菜单的括号内都有这种代码:
select name="membership_type" id="membership_type" onchange="getAmountDue()"
select name="country" id="country" onchange="getAmountDue()"