2017-06-19 51 views
0

我正面臨着jsp的問題。我試圖在數字增加時動態地將數字與輸入類型數字的值相乘。 我下面的代碼。輸入類型號碼和數字的乘積

<td data-th="Price"> ${prod.unitPrice }</td> 
<td data-th="Quantity"><input type="number"class="form-control text-center" value="${item.quantity}"></td> 

上面的代碼將打印在模型中傳遞的值。用UI增加價值時,獲得新價值的最佳邏輯是什麼。我需要顯示在大部

<td data-th="Subtotal" class="text-center">$......</td> 
+0

您可以使用JavaScript – Zico

+0

做設定sub total我試過但我沒有結果 –

回答

1

假設你有tr用於提供td

我已經加入classtr以及td。加入onkeyup事件輸入字段改變輸入quantity導致Subtotal

<tr class="data"> 
     <td data-th="Price" class="price"> ${prod.unitPrice}</td> 
     <td data-th="Quantity"><input type="number" class="form-control text-center quantity" onkeyup="total(this);" value="${item.quantity}"></td> 
     <td data-th="Subtotal" class="total" class="text-center"> ... </td> 
</tr> 

下面的腳本將計算改變依賴於輸入quantity和頁面加載

//section for set sub total when page load 
var r, i; 
r = document.getElementsByClassName("data"); 
for(i=0;i<r.length; i++){ 
    r[i].getElementsByClassName("total")[0].innerHTML = 
     r[i].getElementsByClassName("price")[0].innerText * 
     r[i].getElementsByClassName("quantity")[0].value; 
} 


//function to update sub total when quantity changed 
function total(element) { 
    var tr = element.parentNode.parentNode; 
    var price = tr.getElementsByClassName("price")[0].innerText; 
    tr.getElementsByClassName("total")[0].innerHTML = price * element.value; 
} 

// function to sum all sub total 
function sumTotal(){ 
    var tot = 0 ; //variable hold the sum 
    var len = document.getElementsByClassName("total").length; 
    for(var i =0; i<len; i++){ 
    tot += parseInt(document.getElementsByClassName("total")[i].innerText); 
    } 
} 
+0

它對我來說完美 現在我想知道如果我必須通過添加所有小計來計算總計 –

+0

@SangamJungGauli我已經添加到答案,一個額外的函數來總和所有小計 – Zico

+0

'td class =「text-center ttotal」id =「sumtot」>.....' 這是總計 –