具有额外条件的JavaScript if语句

时间:2013-09-25 17:23:37

标签: javascript jquery-calculation

我有一个JavaScript if语句执行以下操作:

如果选择了名为cardless的付款方式,则cardfee varable将设置为总费用的1%。

if (document.getElementById('payment_method').value == "Cardless") {
    cardfee = ((thetotal * (1 + vatrate)) * 0.01);    
}    
document.getElementById('card_fee').value = cardfee;    
formatPrice(document.getElementById('card_fee'));

问题是,虽然总费用的1%是罚款,但付款方式有上限。它的1%但最高为2英镑。

如何进行上述计算,然后再添加另一行,说明如果cardfee大于2英镑,请将cardfee设置为2英镑?

2 个答案:

答案 0 :(得分:3)

您无需更改条件,您只需更改分配新值的方式即可。 Using Math.min()您可以将其分配给两个值中较小的一个:

if (document.getElementById('payment_method').value == "Cardless") {
    cardfee = Math.min(((thetotal * (1 + vatrate)) * 0.01), 2.0);
}

如果结果计算大于2.0,则分配将为2.0。否则,分配将是计算结果。 (如果两者相等,那么使用哪一个并不重要。)

答案 1 :(得分:0)

只需将第二个语句添加到if

的内部即可
if (document.getElementById('payment_method').value == "Cardless") {
  cardfee = ((thetotal * (1 + vatrate)) * 0.01);
  if (cardfee > 2.0) {
    cardfee = 2.0
  }
}
document.getElementById('card_fee').value = cardfee;
formatPrice(document.getElementById('card_fee'));