2017-04-22 4 views
0

いくつかのフィールドを計算し、総コストを単価*数量として計算する単純なフォームを作成しようとしています。入力された単価が変更されると、単価を自動的に変更するためのキーアップ機能を使用しようとしていますが、価格を変更すると何も起こりません。キーアップ機能が入力ボックスを変更していませんか?

HTML

<!-- Div for quantity --> 
       <div class="form-group"> 
        <input type="number" class="form-control" id="quantity" name="quantity" placeholder="Quantity" required> 
       </div> 
       <!-- Div for unit price --> 
       <div class="form-group"> 
        <input type="number" class="form-control" id="unitPrice" name="unitPrice" placeholder="Unit Price" required> 
       </div> 
       <!-- div for cost --> 
       <div class="form-group"> 
        <input type="number" class="form-control" id="cost" name="cost" placeholder="Cost" required> 
       </div> 

JS

$(document).ready(function() { 
    $("#unitPrice").keyup(function() { 
     var quantity = +$("#quantity").val(); 
     var price = +$("#unitPrice").val(); 
     $("#cost").val(quantity * unitPrice); 
    }); 
}); 

})。

+0

$("#cost").val(quantity * unitPrice); 

この行を置き換えよろしいハンドラが実行されていることを確認しましたか? – Carcigenicate

+0

@Carcigenicate私はHTMLとJSの新しい、私ハンドラは何ですか? –

+0

keyupイベントハンドラ。 '.keyup()'呼び出しの中の関数はどれですか。 – heylookltsme

答えて

1

へ 変更

$("#cost").val(quantity * unitPrice); 

ここでワーキングソリューションです。あなたの変数名は

価格

ではない 単価

.Hopeことができますです!

$(document).ready(function() { 
 
     $("#unitPrice").keyup(function() { 
 
      var quantity = +$("#quantity").val(); 
 
      var price = +$("#unitPrice").val(); 
 
      $("#cost").val(quantity * price); 
 
     }); 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script> 
 
<div class="form-group"> 
 
    <input type="number" class="form-control" id="quantity" name="quantity" placeholder="Quantity" required> 
 
</div> 
 
<!-- Div for unit price --> 
 
<div class="form-group"> 
 
    <input type="number" class="form-control" id="unitPrice" name="unitPrice" placeholder="Unit Price" required> 
 
</div> 
 
<!-- div for cost --> 
 
<div class="form-group"> 
 
    <input type="number" class="form-control" id="cost" name="cost" placeholder="Cost" required> 
 
</div>

+0

これはありがとう、私はタイプミスがあったが、それはまだそれを修正していないが、あなたの作業例はトリックをしたことを実現した。 –

2

これはタイプミスです。

$("#cost").val(quantity * price); 
0

あなたは間違った変数名を使用しています。

$("#cost").val(quantity * price); 
関連する問題