我正在开发一个费率模块,计算他们用电话卡花了多少分钟。对于exaple来说,打电话给南非的费用是每分钟0.015。我想进行以下数学运算:
SouthAfrica *分钟。或者在这种情况下:0.015 * 200,结果得到3美元。
我的问题是:我是否将以下值放入:
代码版本1: HTML:
<option value="0.015">South Africa</option>
JS:
var inputCountries =$('#CountryName').val();
var inputMinutes = $('#minutes').val();
var result = parseInt(inputMinutes)*parseFloat(inputCountries);
代码版本2: HTML:
<option value="SouthAfrica">South Africa</option>
JS:
var SouthAfrica = 0.015;
var inputCountries =$('#CountryName').val();
var inputMinutes = $('#minutes').val();
var result = parseInt(inputMinutes)*parseFloat(inputCountries);
代码版本3: HTML:
<option value="SouthAfrica">South Africa</option>
JS:
var inputCountries =$('#CountryName').val(
SouthAfrica = 0.015;
);
var inputMinutes = $('#minutes').val();
var result = parseInt(inputMinutes)*parseFloat(inputCountries);
这是我的第一个JavaScript项目,随着我的学习,所以我很感激任何来源解释为什么上面的代码工作/不起作用。以下是我的其余代码供参考。
注意:请不要更正我的代码的REST,我仍在研究和学习。但是,非常感谢任何提示或资源以找出其余的代码。我对这个主题的关注点是每个国家的分配价值。我试图弄清楚如何使用几种不同的资源来解决问题,但是空洞了。谢谢你的时间!
HTML:
<form name="calculator">
<!--
Countries
-->
<label><span><!--[Write as something else]-->Where do you want to call?</span>
</label>
<select id="CountryName" class="rates">
<option>Select...</option>
<option value=" ?? ">South Africa</option <!--This list is truncated to keep the post short-->
</select>
<label>Minutes to call</label>
<input id="minutes" type="text" class="rates" /><br />
<input type="button" name="submit" id="submit" value="Submit" />
<input type="button" name="clear" id="clear" value="Clear" />
<br />
</form>
<div id="RatesResult">
<p>
<span id="total"></span> for
<span id="afterMin"></span> minutes. <!--This section, #afterMin, is still being worked on, any hint/resources on how to print what user wrote in #minutes into this section would be appreciated -->
</p><br />
</div>
</div>
JS:
$(document).ready(function() {
$('#submit').submit(function() {
var total = 0;
var SouthAfrica = 0.015, Canada = 0.015 ; //truncated list
var inputCountries =$('#CountryName').val();
var inputMinutes = $('#minutes').val();
var result = parseInt(inputMinutes)*parseFloat(inputCountries);
$('#total').html(formatCurrency(result));
});
});
答案 0 :(得分:1)
对您而言,最简单的答案是创建一个这样的对象:(请注意,javascript中的所有对象都是有效的hashmaps / dictionary<string,value>
类型。
var rates = {
'SouthAfrica': 0.0015,
'USA' : 0.0001,
.....
'France' : 0.0005
}
//HTML
<option value="SouthAfrica">South Africa</option>
<option value="USA">United States of America</option>
然后当您从select中获取val时,如$('#CountryName').val();
,您可以对rates对象进行查找,如下所示:
var countrySelected = $('#CountryName').val();
var rate = rates[countrySelected];
答案 1 :(得分:1)
我建议您将费率(所以0.015)作为下拉列表中的值:
<select id="CountryName" class="rates">
<option value="-1">Select...</option>
<option value="0.015">South Africa</option
</select>
然后,您将使用下拉列表中的选定值执行简单计算(如您所述)。我建议在我的例子中添加-1值,然后你可以测试以确保他们选择了一个大于或等于零的值(你可能有一个免费的国家,也就是0)。