2016-07-24 11 views
0

入力テキストに由来する別の値と合計する必要があります。テキスト入力フィールドを合計するときにJavaScriptが表示される

HTML

<%= f.text_field :hoursclass, id:"txt_hours" %>  

JS

$(function() { 
    var price = <%= @room.price %>; 
    var qtdhours = parseInt($(':input[id="txt_hours"]').val()); 
    var total = qtdhours * <%= @room.price %> 

    $("#txt_hours").keyup(function() { 
    $('#reservation_days').text(qtdhours); 
    $('#reservation_sum').text(total); 
}); 

$('#reservation_sum').text(total);も必ず@roomを行い、計算を行う前に、未定義または空白値を事前

+3

合計は、ページが最初に読み込まれたときに1回計算されます。 - その時点で入力にはどのような値がありますか? (入力は後で動的に作成されますか?)キーイベントハンドラの内部から計算を行う必要があります。 – nnnnnn

+0

Tku @nnnnnn ..あなたが私のエラーを見つけるのに役立ちます。 '$("#txt_hours ")の場所を変更するだけです。keyup(function(){' –

答えて

2

チェックにはNaN

TKSを返します。 .priceには数値があります。

$(function() { 
    var total=0; 
    var price = <%= @room.price %>; 
    var qtdhours = parseInt($(':input[id="txt_hours"]').val()); 
    if (qtdhours != undefined || qtdhours !='') { 
    total = qtdhours * <%= @room.price %> 
    } 

    $("#txt_hours").keyup(function() { 
    $('#reservation_days').text(qtdhours); 
    $('#reservation_sum').text(total); 
}); 
関連する問題