2011-11-10 25 views
0

私はここで精神的に時間が尽きている。 2日間、私は数字を見て、この邪魔な計算をうまく行こうとしましたが、今は結果メソッドを動作させることができません。JQuery - 自動計算

私は1つのテキストボックス、2つのチェックボックス、1つのドロップダウン、および結果が表示されるh1を持っています。

私は助けが必要なのは、計算と結果の表示です。 私は持っているJQueryコードをHeresします。

var iAlt = 0; 

    // DROPDOWN 
    var halloAbo = ""; 
    $('#hallo-abo').change(function(){ 
     halloAbo = $('#hallo-abo').val(); 
      //$('#sk').text(halloAbo); 
    }); 


    // TEXTBOX 
    var maxregning = 0; 
    $('#maxRegning').focusout(function(){ 
     maxregning = 0; 
     maxregning = $('#maxRegning').val(); 

     $('#sk').text(maxregning); 
    }); 



    // SELECT 1 
    var pakkerTotal = 0; 
    $('#pakker :checkbox').click(function() { 
     pakkerTotal = 0; 
     $('#pakker :checkbox:checked').each(function(idx, elm) { 
      pakkerTotal += parseInt(elm.value, 10); 
     }); 
     //visResultat(); 
    }); 

    // SELECT 2 
    var betalTotal = 0; 
    $('#betal :checkbox').click(function() { 
     betalTotal = 0; 
     $('#betal :checkbox:checked').each(function(idx, elm) { 
      betalTotal += parseInt(elm.value, 10); 
     }); 
     //visResultat(); 

    }); 

    // NEED HELP HERE 
    var buffer1 = 0; 
    var buffer2 = 0; 
    function visResultat(){ 
     iAlt = eval(maxregning -= pakkerTotal -= betalTotal); 
     $('#sk').text(iAlt) 
    } 


    //$('#sk').text(iAlt); 

相続人はHTMLの一部が

// DROPDOWN  
<select id="hallo-abo" style="float:left;"> 
<option value="">Vælg dit abo</option> 
<option value="49">test 1</option> 
<option value="99">test 2</option> 
ect 
</select> 

// TEXTBOX 
<input type="textbox" id="maxRegning" value="" /> 


// CHECKBOX 1 
<div id="pakker"> 
<input type="checkbox" value="39" />test 1<br/> 
<input type="checkbox" value="79" />test 2<br/> 
</div> 

//CHECKBOX 2 
<div id="betal"> 
<input type="checkbox" value="6,5" />test 1<br/> 
<input type="checkbox" value="36" />test 2 
</div> 

// RESULT 
<h1 id="sk">0</h1> 

希望いくつかのいずれかが、これは非常に間違って見える

+0

チェックこの http://stackoverflow.com/questions/7736434/jquery-dynamic-addition-subtraction-multiplication-division-of-multiple-text-box – Ghostman

+0

まさにあなたcalculating..ple簡単にそれ – run

+0

html値から数値を計算 –

答えて

1

ここで私を助けることができます。

iAlt = eval(maxregning -= pakkerTotal -= betalTotal); 

私はあなたがちょうど欲しかった疑い:

iAlt = maxregning - pakkerTotal - betalTotal; 

最初のポイントは: - =演算子は、実際にはむしろちょうど計算の結果を返すよりも、左側の値を変更します。あなたがしていたことは、実際にmaxregningとpakkerTotalを変更していたことです。

2番目:算術演算を行い、結果を「評価」しています。これは無意味です。数学が12になった場合、12.toString()は12と評価されます。 eval( "12")は12です。

3番目:Evalはほとんど常に間違っています;)あなたが何かを評価する必要があると思うなら、それをやめて考えてください。

+0

ありがとう!私はいくつかの他の例を見ていて、evalを使用していました。しかし、私はそれが必要でした。 –

関連する問題