2014-06-05 85 views
-1

我有一些文本框。我的HTML代碼是:通過js使用金額和折扣計算總額?

<input type="text" id="amt_5" onkeyup="calculateTotal(5);" style="width:50px" name="data[Fee][fee_to]"> 
<input type="text" id="dis_5" onkeyup="calculateTotal(5);" style="width:50px" name="data[Fee][fee_to]"> 
<input type="text" id="total_5" style="width:50px" name="data[Fee][fee_to]"> 

<input type="text" id="amt_6" onkeyup="calculateTotal(6);" style="width:50px" name="data[Fee][fee_to]"> 
<input type="text" id="dis_6" onkeyup="calculateTotal(6);" style="width:50px" name="data[Fee][fee_to]"> 
<input type="text" id="total_6" style="width:50px" name="data[Fee][fee_to]"> 



Total Fees Amount 
<span id="Fees_amt" style="margin-left:20px;"></span> 

和我的js代碼:

<script> 
    function calculateTotal(pid){ 

     //alert($id_particular); 
     var amt=document.getElementById('amt_'+pid).value; 
     var dis=document.getElementById('dis_'+pid).value; 
     if(amt != "" && dis != ""){ 
     var total = (amt-((dis*amt)/100)); 
     } 
     else if(amt != "" && dis == ""){ 
     var total = amt; 
     } 
    else{ 
    var total = ""; 
    } 
    document.getElementById('total_'+pid).value=total; 
    } 
</script> 

上面的代碼基本工作原理: 從textbox(amt_5,amt_6)注意到量值,需要從textbox(dis_5,dis_6)折現值,計算出總的和通過JS

填補了​​現在我想要做的是: 無論總進來total_6total_5,加他們並填寫我的跨度元素與編號Fees_amt

這應該通過js,增強我的js代碼,而不刷新頁面。

請幫忙。

回答

0

在現有的JavaScript代碼,您可以添加類似:

document.getElementById("Fees_amt").appendChild(document.createTextNode('' + total)); 

在另一方面,當前的代碼是不是在這個意義上奇特的是每次有人類型的單個輸入字段中輸入字符,整個計算功能運行。雖然代碼有效,但我會主張添加一個按鈕,以便用戶在輸入值輸入到輸入字段後單擊。雖然需要更多的用戶輸入,但我認爲這是組織代碼的一種更簡潔的方式。基礎上,進一步澄清

編輯 如果你想的total_6和總和total_5最簡單的方法(同時保持當前的JavaScript的結構將保持在兩個全局的JavaScript變量的值。這則是這個樣子:

<script> 
    var total5 = 0, 
     total6 = 0; 

    function calculateTotal(pid){ 
     var amt=document.getElementById('amt_'+pid).value; 
     var dis=document.getElementById('dis_'+pid).value; 
     if(amt != "" && dis != ""){ 
     var total = (amt-((dis*amt)/100)); 
     } 
     else if(amt != "" && dis == ""){ 
     var total = amt; 
     } 
    else{ 
     var total = ""; 
    } 
    document.getElementById('total_'+pid).value=total; 
    if(pid==5){ 
     total5 = total; 
    } else{ 
     total6 = total 
    } 
    document.getElementById("Fees_amt").appendChild(document.createTextNode(total6 + total5)); 
    } 

雖然這應該工作,我強烈建議你重新考慮你正在處理這個問題的方式

+0

你的答案是連接總數,而不是增加它 – user3541020

+0

只是爲了澄清,你想要添加什麼? 'total_6'和'total_5'中的值? – danielvdende

+0

是的,我確實需要相同的 – user3541020