2016-10-13 8 views
0

私は様々なオプション値を持つ選択メニューを持っています。選択した値が25より小さい場合は選択した値に「10」を掛ける必要があり、選択した値が25以上の場合は「12」で掛ける必要があります。メニュー値を掛け合わせて値をテーブルに更新

私はJSを初めて利用しています。以下のコードを使用して10倍にすることで動作させることができますが、if/else文を記述して選択が25より小さく、10または25以上を掛けて掛け算する方法を知りません12.

によってHTML:

<table width="100%" border="0"> 
    <tr> 
    <td> 
     <select id="licenseRegs"> 
     <option value="5">5</option> 
     <option value="10">10</option> 
     <option value="15">15</option> 
     <option value="20">20</option> 
     <option value="25">25</option> 
     <option value="50">50</option> 
     <option value="75">75</option> 
     <option value="100">100</option> 
     <option value="125">125</option> 
     </select> 
     </td> 

     <td id="total-price">Price show here</td> 
    </tr> 
    </table> 

Javascriptを:これは、私はそれが25未満の場合は10を掛けたが25以上の場合は12で乗算する必要がある10ですべての選択値を乗算します。

// calculate price of # of computer selection 
$(document).ready(function() { 
    var pricePerReg = 10; 
    var licenseRegsSelect = $('#licenseRegs'); 

    function updateTotalPrice() { 
    licenseRegs = licenseRegsSelect.val(); 
    $('#price').html(pricePerReg * licenseRegs); 
    } 

    licenseRegsSelect.change(function() { 
    updateTotalPrice(); 
    }); 

    updateTotalPrice(); 
}); 

答えて

1

あなたのコードを使用して、 は、私が追加したAN/else文場合は(うまくいけば、それは自明な問題のあなたの説明与えられたのです、それはまさにそれがない - 。licenseRegsがより小さく、またはいずれよりも大きいかどうかを確認しますまたは25に等しい)。

また、組み込みのparseInt()を使用して数値を整数として取得しました。それは文字列として格納されます。 (これは「25」(文字列)と25(INT)との差である 、これは必要ないかもしれないが、それは良い習慣だ詳細については、この質問を参照してください。。!How do I convert a string into an integer in JavaScript?

// calculate price of # of computer selection 
$(document).ready(function() { 
    var pricePerRegUnder = 10; 
    var pricePerRegAbove = 12; 
    var licenseRegsSelect = $('#licenseRegs'); 

    function updateTotalPrice() { 

    licenseRegs = parseInt(licenseRegsSelect.val(), 10); 

    ///////////// New code here //////////// 
    var total; 
    if (licenseRegs < 25) { 
     total = licenseRegs * pricePerRegUnder; 
    } else { 
     total = licenseRegs * pricePerRegAbove; 
    } 
    //////////// Ends here ///////////////// 

    $('#price').html(total); 
    } 

    licenseRegsSelect.change(function() { 
    updateTotalPrice(); 
    }); 

    updateTotalPrice(); 
}); 
+0

はありがとうと同じように動作します必要だった。 – Rex

関連する問題