2011-07-05 21 views
1

私は時間が必要なので、すでに計算した2つの日付フィールドを持っています。これらに加えて、私は数値を保持する6ドロップダウンを持っています。フォーム入力を計算して画面に表示する

ユーザーがこれらのフィールドのいずれかを選択すると、ショッピングカートのように合計が計算され/更新されます。 私はこのようなことから始めましたが、私のロジックが間違っていることは明らかにうまくいっています。私はそれが間違っていることを認識しますが、私はそれを修正する方法を知らない。

$(function(){ 
$('a#calc').click(function(){ 
var p = $('select#TRDO').val(); 
var q = $('select#AnnualLeave').val(); 
var r = $('select#PersonalLeave').val(); 
var s = $('select#WorkFromHome').val(); 
var t = $('select#TOIL').val(); 
var tot = (q+p+r+s+t); 
$('input#total').val(tot); 
}); 

});

私はちょうど最初の1つをするのに助けが必要です、そして、私は自分でそれに行く権利があります。あなたはnummeric追加を行うためにparseIntを使用しようとすることができ、それは非常にイライラ1日だった

おかげで...

答えて

2

$(function(){ 
    $('a#calc').click(function(){ 
    var p = parseInt($('select#TRDO').val(), 10); 
    var q = parseInt($('select#AnnualLeave').val(), 10); 
    var r = parseInt($('select#PersonalLeave').val(), 10); 
    var s = parseInt($('select#WorkFromHome').val(), 10); 
    var t = parseInt($('select#TOIL').val(), 10); 
    var tot = (q+p+r+s+t); 
    $('input#total').val(tot); 
    }); 
}); 

parseInt()なければプラス演算子(+)は、文字列の代わりに、CONCATますそれらの数値を加える。

これが役に立ちます。乾杯

+0

Villegas Alvarado私はこの集計/計算に欠けているものがありますか? HERE webb

+0

いいえ、あなたは何も欠けていません。問題が解決しない場合は、あなたのコードをjsfiddle.netにアップロードして、それを見直すURLを教えてください。 –

+0

ここにjsfiddleのリンクがあります.... http://jsfiddle.net/HeCvx/1/ – webb

1

ああ...あなたは、最大合計とのparseIntを使用したいすべての入力にクラスを追加し、あなたが最も可能性の高いあなたはおそらく

<input class="inputsToSum" value="4"/> 

var runningTotal = 0; 
$(".inputsToSum").change(function() { 
    runningTotal += parseInt($(this).val(), 10); 
}); 
$('input#total').val(runningTotal); 
+0

私はこれを使用してみましたが、それは私にtotのために尋ね続けた。それもonchangeを計算していない...ありがとう – webb

+0

申し訳ありません。 "tot"を "runningTotal"に変更する – kasdega

0
​​ を.changeたい.click使用したくありません

UPDATE

このコードは

$(function() { 
    $('a #calc').click(function(){ 

     var p = parseFloat($('select[name=TRDO] option:selected').val()); 
     var q = parseFloat($('select[name=AnnualLeave] option:selected').val()); 
     var r = parseFloat($('select[name=PersonalLeave] option:selected').val()); 
     var s = parseFloat($('select[name=WorkFromHome] option:selected').val()); 
     var t = parseFloat($('select[name=TOIL] option:selected').val()); 

     var tot = (q + p + r + s + t); 
     $('input#total').val(tot); 

    }); 
}); 
+0

サンプルを使用しようとしましたが、計算されず、NaNが返されます。 'HERE'これは関数を初期化する方法です。 ありがとう – webb

0

を計算する]をクリックしたときにあなただけの整数または浮動小数点数にそれを解析動作します。..

$(function(){ 
$('a#calc').click(function(){ 
var p = $('select#TRDO').val(); 
var q = $('select#AnnualLeave').val(); 
var r = $('select#PersonalLeave').val(); 
var s = $('select#WorkFromHome').val(); 
var t = $('select#TOIL').val(); 
var tot = (parseInt(q)+parseInt(p)+parseInt(r)+parseInt(s)+parseInt(t)); 
$('input#total').val(tot); 
}); 
}); 
関連する問題