Javascript 将价值分配给<;选项>;or.val()

Javascript 将价值分配给<;选项>;or.val(),javascript,jquery,Javascript,Jquery,我正在开发一个费率模块,计算出他们使用电话卡所花费的时间。例如,打电话到南非的费用是每分钟0.015美元。我想执行以下数学运算: 南非*分钟。或者在这种情况下:0.015*200,结果得到3美元 我的问题是:我是否将以下值放入: 代码版本1: HTML: 代码版本2: HTML: 代码版本3: HTML: 这是我的第一个JavaScript项目,我会边学习边学习,因此我希望有任何资料可以解释上述代码的工作/不工作原因。下面是我的代码的其余部分供参考 注意:请不要更正我的代码的其余部分,我仍在研究

我正在开发一个费率模块,计算出他们使用电话卡所花费的时间。例如,打电话到南非的费用是每分钟0.015美元。我想执行以下数学运算:

南非*分钟。或者在这种情况下:0.015*200,结果得到3美元

我的问题是:我是否将以下值放入:

代码版本1: HTML:

代码版本2: HTML:

代码版本3: HTML:

这是我的第一个JavaScript项目,我会边学习边学习,因此我希望有任何资料可以解释上述代码的工作/不工作原因。下面是我的代码的其余部分供参考

注意:请不要更正我的代码的其余部分,我仍在研究和学习。但是,如果您有任何提示或参考资料来了解代码的其余部分,我们将不胜感激。我关注的是每个国家的价值分配。我曾试图找出如何使用几种不同的资源来解决这个问题,但结果却一无所获。谢谢你抽出时间

HTML:


对您来说,最简单的答案是创建如下对象:(注意javascript中的所有对象实际上都是hashmaps/
dictionary
类型

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>

我建议您将比率(so 0.015)作为下拉列表中的值:

<select id="CountryName" class="rates">
    <option value="-1">Select...</option>
    <option value="0.015">South Africa</option 
</select>

选择。。。

南非这是不太便携,但是,并紧密结合率的选择。这是更好的做关键的查找(计算机现在是难以置信的快)和非紧耦合的代码。我选择这个例子作为一个简单的方法,很容易从一点到另一点遵循。特别是当用户1466745刚刚开始他的开发旅程时!但是我同意,如果你想改变前端,我的解决方案将不会如此可移植。
    <option value="SouthAfrica">South Africa</option>
    var SouthAfrica = 0.015;
    var inputCountries =$('#CountryName').val();
    var inputMinutes = $('#minutes').val();
    var result = parseInt(inputMinutes)*parseFloat(inputCountries);
    <option value="SouthAfrica">South Africa</option>
    var inputCountries =$('#CountryName').val(
           SouthAfrica = 0.015;
      );
    var inputMinutes = $('#minutes').val();
    var result = parseInt(inputMinutes)*parseFloat(inputCountries);
    <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>
       $(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));
        });
   });
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>
var countrySelected = $('#CountryName').val();
var rate = rates[countrySelected];
<select id="CountryName" class="rates">
    <option value="-1">Select...</option>
    <option value="0.015">South Africa</option 
</select>