我使用JS来计算表单上的一些输入。我根据登录用户的类型使用了一些IF语句,以及他们输入到字段中的值。
总而言之,该公式的结构如下:
如果登录用户是管理员或贡献者,请运行公式1。 否则,如果用户是订户运行公式2。
我希望现在添加第三条规则,例如,如果登录的用户是'客户',则运行费率为3.
我面临的挑战是,在第一个公式之后,我假设知道哪个IF陈述适应新变化以及它应该放在哪里?
这是我到目前为止所拥有的:
(function(){
if(fieldname152=='administrator','contributor') return IF((fieldname130<=1000),(fieldname130)*50.40/1000,IF(fieldname130<=10000,(fieldname130)*50.40/1000,IF(fieldname130<=50000,(fieldname130)*50.90/1000,IF(fieldname130<=500000,(fieldname130)*50.45/1000))));
else if(fieldname152=='subscriber') return IF((fieldname130<=1000),(fieldname130)*49.40/1000,IF(fieldname130<=10000,(fieldname130)*49.40/1000,IF(fieldname130<=50000,(fieldname130)*48.90/1000,IF(fieldname130<=500000,(fieldname130)*48.45/1000))));
})()
非常感谢任何帮助。
取值
答案 0 :(得分:1)
您可以更好地分割此代码,如下所示
function calculateValue(userType, value)
{
var multiplier = 0;
switch(userType)
{
case "administrator":
case "contributor":
if (value > 5000000)
{
multiplier = 50.45;
} else if (value > 50000)
{
multiplier = 50.9
} else if (value > 1000)
{
multiplier = 50.4
}
break;
case "user":
// Put your value calculations here
break;
default:
// This is for users other than admin, contrib or user
if (value > 5000000)
{
multiplier = 48.45;
} else if (value > 50000)
{
multiplier = 48.9;
} else if (value > 1000)
{
multiplier = 49.4;
}
} // end case
return value * (multiplier / 1000);
}
然后你可以按如下方式调用它:
var fieldname152 = 'administrator';
var fieldname130 = 500;
var result = calculateValue(fieldname152, fieldname130);