1

2つのフォームフィールドがmoneyありyears、3番目のフィールドに数値を出力する必要がありますcv

理想的には最初の数字が入力されている間ですが、ボタンが押された後もそれが起こっても大丈夫です

<FORM name="salary">
    <input type="number" size=12 name="money"> 
    <input type="number" size=12 name="years"> 
    <input type="number" size=12 name="cv"> 
</FORM>

関係する数学は次のようになります。

(お金*年)-(お金*年)x = cv

どこ:

  • 年が1に等しい場合、xは0に等しい
  • 年が2に等しい場合、xは.2に等しい
  • 年が3に等しい場合、xは.45に等しい
  • 年が4に等しい場合、xは0.6に等しい
  • 年が5に等しい場合、xは0.65に等しい
  • 年が6に等しい場合、xは0.75に等しい
4

4 に答える 4

3

jQueryを使用できます。その場合、次のようになります。

var money = parseFloat($("#money").val());
var years = parseInt($("#years").val(), 10);
var x = [0.00, 0.20, 0.45, 0.60, 0.65, 0.75][years-1];

$("#cv").val((money*years)*(1-x));
于 2009-03-09T23:44:27.870 に答える
3

問題を分解するには、JavaScriptを使用して次のことを行う方法を知る必要があります。

  • プログラムでテキストをテキストボックスに入力します
  • テキストボックスに数値データが含まれていることを確認します
  • 数学を実行します
  • 3番目のテキストボックスの値を設定します

そのすべてとはるかにここで見つけることができます。

于 2009-03-09T23:45:24.840 に答える
0

人々がデータを入力する両方のフィールドに onKeyUp() イベントを配置し、次のような関数を呼び出し、さらに関数で使用されるように各フィールドに id を追加します。プロトタイプまたは jquery を使用していない場合は、$('var') の代わりに getElementById('var') を使用する必要があります。

function calculateAndSetCV()
{
    money = parseFloat($('money').val());
    years = parseInt($('years').val());
    cv = 0;

    if(years == 1)
    {
        cv = (money * years) - (money * years)0;
    }

    $('cv').val(cv);
}
于 2009-03-09T23:48:50.993 に答える
0

計算する:

(money * years) - (money * years) x = cv
(money * years) x = (money * years) - cv
x = ((money * years) - cv) / (money * years)
x = 1 - cv / (money * years)

http://jquery.com/で jQuery を入手してください。

コードを次のように更新します (name → id に注意してください)。

<script type="text/javascript" src="jquery.js"></script>
<input type="number" size="12" id="money" />
<input type="number" size="12" id="years" />
<input type="number" size="12" id="cv" />
<div id="result"></div>
<script type="text/javascript">
  $ ('input').bind ('input change keyup keydown keypress', function () {
    $ ('#result').val (
       1 - $ ('#cv').val () / ($ ('#money').val () * $ ('#years').val ())
    )
  })
</script>
于 2009-03-09T23:58:33.763 に答える