2011-11-10 61 views
0

我有一段時間的精神融化在這裏。兩天來,我一直在看數字,並試圖讓這個該死的計算工作,但現在我無法得到結果方法的工作。JQuery - 自動計算

我有1個文本框,2個複選框,1個下拉菜單和一個h1,其中顯示結果。

我需要幫助的是計算和顯示結果。 繼承人我有的JQuery代碼。

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。

第二:你正在做一些算術,然後「評估」結果。這沒有意義;如果數學出來12,它將eval 12.toString(),這是「12」。 eval(「12」)是12.

第三:Eval幾乎總是錯誤的答案;)如果您認爲您需要eval()任何東西,請停下來思考它,然後不要這樣做。

+0

非常感謝!我只是在看一些其他的例子,他們使用eval,所以雖然我需要它,所以感謝提示:) –