1

3 つの入力フィールドがあります。それぞれに、値を保持する独自の非表示の入力があります。

現時点では、スクリプトはバナナに対してのみ機能します。(:-))

バナナ 1 本は、バナナ 1 本またはリンゴ 0.5 個またはクッキー 0.021 個の価値があります (つまり、リンゴ 1 個 = バナナ 2 個、バナナ 46 個 = クッキー、バナナ 1 個 = バナナ 1 個)。

このスクリプトで実行したいのは、リンゴとクッキーの値も計算し、それらを合計して「他の」通貨での価値を表示することです (たとえば、3 つのリンゴすべてと 4 つのクッキーの価格を表示します)。通貨)

私はコードが非常に...コードと呼ぶのは残念だということを認識しています。

どうすればいいのかわかりません。

どんな助けでも大歓迎です。

フィドル: http://jsfiddle.net/eN7S6/9/

HTML:

    <table>
    <tr>
        <td>
Apple<input name="inputone" id="inputone" class="calc" value="0"><span id="TotalOne"></span>
            </td>
    </tr>
        <tr>
        <td>
Banana<input name="inputtwo" id="inputtwo" class="calc" value="0"><span id="TotalTwo"></span>
            </td>
            </tr>
                    <tr>
        <td>
Cookie<input name="inputthree" id="inputthree" class="calc" value="0"><span id="TotalThree"></span>
            </td>
            </tr>
</table>
    <input name="multiplierone" id="multiplierone" class="calc" value="1" type="hidden" readonly>
    <input name="multipliertwo" id="multipliertwo" class="calc" value="0.5" type="hidden" readonly>
            <input name="multiplierthree" id="multiplierthree" class="calc" value="23" type="hidden" readonly>
    <input type="button" id="update" value="Calculate" />

JQ:

$(document).ready(function() {      
    $('#update').click(function() { 
        var inputone = $('#inputone').val();
        var multiplierone = $('#multiplierone').val();
        var inputtwo = $('#inputtwo').val();
        var multipliertwo = $('#multipliertwo').val();
        var inputthree = $('#inputthree').val();
        var multiplierthree = $('#multiplierthree').val();
        var totalTotalOne = (inputtwo * multipliertwo);
        var totalTotalTwo = (inputtwo);
        var totalTotalThree = (inputtwo / multiplierthree / 2);
        $('#TotalOne').text(totalTotalOne);
        $('#TotalTwo').text(totalTotalTwo);
        $('#TotalThree').text(totalTotalThree);
    });
}); 
4

3 に答える 3

0

この問題を簡単にするためにできることの 1 つは、それぞれの通貨に変換する前に、すべての通貨を基準通貨に変換することです。あなたが与えた例を使用して、すべての通貨をCookie同等の通貨に変換しました.

HTML を次のように変更します。

<input name="multiplierone" id="multiplierone" class="calc" value="23" type="hidden" readonly>
<input name="multipliertwo" id="multipliertwo" class="calc" value="46" type="hidden" readonly>
<input name="multiplierthree" id="multiplierthree" class="calc" value="1" type="hidden" readonly>

これは、1 つの通貨を構成するのに必要な各通貨の数Cookieです。次のコードを使用して、通貨を次の通貨に変換できます。Cookies

var base_total = inputone / multiplierone + inputtwo / multipliertwo + inputthree / multiplierthree;
var totalTotalOne = (base_total * multiplierone);
var totalTotalTwo = (base_total * multipliertwo);
var totalTotalThree = (base_total * multiplierthree);

このコードは、すべての個別の入力値を同等の値に変換しCookieます。すべてのフィールドの合計を Cookie 値として取得したら、その値をそれぞれの通貨値に戻すのは簡単なことです。

フィドル

于 2013-11-13T06:19:55.737 に答える
0
$(document).ready(function() { 
 $('#update').click(function() {
   var inputone = parseFloat($('#inputone').val());
    var multiplierone = parseFloat($('#multiplierone').val()); 
    var inputtwo =parseFloat( $('#inputtwo').val());
    var multipliertwo = parseFloat($('#multipliertwo').val());
    var inputthree =parseFloat( $('#inputthree').val());       
    var multiplierthree = parseFloat($('#multiplierthree').val());
     var totalTotalOne = (inputtwo * multipliertwo);           
     var totalTotalTwo = (inputtwo); 
     var totalTotalThree = (inputtwo / multiplierthree / 2); 
      $('#TotalOne').text(totalTotalOne); 
      $('#TotalTwo').text(totalTotalTwo); 
      $('#TotalThree').text(totalTotalThree); 
    });
 });

これを試して

于 2013-11-12T02:00:17.433 に答える