2016-09-29 51 views
1

我有這個字段,其中總金額被寫入,並且總金額字段下面的另一個字段可以被jQuery多次附加,並且下面字段中寫入的總金額不能超過總金額字段中的金額。有什麼辦法可以計算出來嗎?如何通過jquery驗證總數?

形式:

<div class="form-group"> 
    <label>Total Cost</label> 
    <input type="number" name="total_cost" id="total_cost" class="form-control"> 
</div> 

<div class="col-md-6"> 
    <label>Amount</label> 
    <div class="input-group"> 
     <input type="text" name="scheduled[1][amount]" class="form-control txt-schedule-amount" placeholder="Enter Amount"> 
    </div> 
</div> 
+2

在提交(或任何其它事件)只是遍歷所有的項目,並把它們加起來。 – nnnnnn

+0

可以你更具體一點我仍然是一個初學者在這.. –

+0

糾正您的問題的措辭。 。使用總費用而不是總金額 –

回答

1

我認爲你正在尋找這個。

function calcSum(obj){ 
 
    var tAmmount =0; 
 
    $(".txt-schedule-amount").each(function() { 
 
    tAmmount = tAmmount + valueParse($(this).val()); 
 
    }); 
 

 

 
    var costVal = valueParse($('#total_cost').val()); 
 

 
    if(tAmmount > costVal){ 
 
    alert('Your ammount exceed.'); 
 
    
 
    if(obj==false) 
 
    $(".txt-schedule-amount").val(0); 
 
    else 
 
    $(obj).val(0); 
 
    } 
 
} 
 

 
function valueParse(svalue){ 
 
    svalue = parseFloat(svalue); 
 
    if(isNaN(svalue)) 
 
    svalue = 0; 
 
    return svalue; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="form-group"> 
 
    <label>Total Cost</label> 
 
    <input type="number" name="total_cost" id="total_cost" class="form-control" onblur="calcSum(false)"> 
 
</div> 
 

 
<div class="col-md-6"> 
 
    <label>Amount</label> 
 
    <div class="input-group"> 
 
\t \t <input type="text" name="scheduled[1][amount][]" class="form-control txt-schedule-amount" onblur="calcSum(this)" placeholder="Enter Amount"> 
 
     <input type="text" name="scheduled[1][amount][]" class="form-control txt-schedule-amount" onblur="calcSum(this)" placeholder="Enter Amount"> 
 
    </div> 
 
</div>

+0

這會運行在任何其他版本的jQuery? –

+0

是@ twisted-dev – AHJeebon

1

我覺得這是你need.On提交調用這個函數

function calculateSum(){ 
     var sum =0; 

     $(".txt-schedule-amount").each(function() { 
      sum = sum + parseInt($(this).val()); 
     }); 

     $("#total_cost").val(sum); 
} 
+0

謝謝你這個幫手很多 –

2

至於除了擎天柱回答,您可以添加這些行的內容:

$('body').on('keyup','.txt-schedule-amount',function(){ 
    if(!calculateSum()) return false; 
    return true; 
}) 

編輯時會檢查金額