2

私はレートモジュールを開発していて、彼らがコーリングカードで何分間得るのにどれだけの費用がかかるかを計算しています。たとえば、南アフリカへの通話料金は1分あたり0.015です。次の計算を実行したいと思います。

南アフリカ*分。またはこの場合: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));
        });
   });
4

2 に答える 2

1

最も簡単な答えは、次のようなオブジェクトを作成することです:(javascriptのすべてのオブジェクトは事実上ハッシュマップ/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];
于 2012-06-19T15:54:09.033 に答える
1

ドロップダウンリストの値としてレート(0.015)を入力することをお勧めします。

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

次に、ドロップダウンで選択した値を使用して、(前述のように)簡単な計算を実行します。私の例のように-1の値を追加することをお勧めします。次に、テストして、ゼロ以上の値が選択されていることを確認できます(国が0である可能性があります)。

于 2012-06-19T15:55:31.750 に答える