2016-09-22 19 views
0

に私は、ユーザーが番号を入力し、自動的にパーセント値を取得することができますパーセントのためのフィールドを持っているのInputField jsfiddle内の関数には、Firefoxを使用した場合)今jqueryのフィルが自動的に計算

$('#table').on('keyup', '.update', function (event) { 
    var key = event.keyCode || event.charCode; 
    if(key == 8 || key == 46) return false; 
    calculateTotals(); 
}); 

$('#percent').change(function() { 
    calculateTotals(); 
}); 

function calculateTotals(){ 
    var dscnt_addition_percent = $('#percent'); 
    var dscnt = dscnt_addition_percent.val().trim().replace(/[^0-9$.,]/g, ''); 
    dscnt = dscnt == '' ? 0 : dscnt; 
    dscnt_addition_percent.val(dscnt);  

    var subtotal = parseInt($('#sum').val()); 
    var grandTotal = $('#grandTotal').val(); 
    var m = dscnt_addition_percent.val() * subtotal/100; 
    $('#euro').val(m); 
    $('#grandTotal').val(m + subtotal); 
} 

<div id="table"> 
    € <input type="text" id="euro" placeholder="0,00 €" /><br> 
    % <input type="text" id="percent" value="0" placeholder="0,00 %" /><br> 
    subtotal <input type="text" class="update" id="sum" disabled value="10000" /><br> 
    total <input type="text" class="form-control update" id="grandTotal" placeholder="0,00" /> 

に私はトンでそれを行うしたいと思います彼は€のテキストフィールド。私は量を入力すると、比率フィールドと合計フィールドは

答えて

0

を更新する必要がありますあなたは#percentを変更すると、それは#euroを変更するときに取って、同じことをしたい.Now #sum#percentとして入力を取っ#grandTotal#euroの新しい値を算出し、それ自身を#sumと入力してください。%を計算しているので、ちょっと機能を変更する必要があります。 ie。 #euroはあなたが別の関数を使用するか、イベント

の起源であるテキストボックスを正確に伝えている even.targetと同じように使用するかそう percent = euro * 100/subtotal;

を変更した場合#percenteuro = percent * subtotal/100;

を変更し

function calculateTotals(event) 
{ 
    var dscnt_addition_percent = $('#percent'); 
    ... 
    .. 
    . 

    if(event.target.id=="percent") 
    { 
    //CALCULATE € 
    } 

    if(event.target.id=="euro") 
    { 
    //CALCULATE % 
    var euro = $("#euro").val(); 
    var subtotal = parseInt($('#sum').val()); 

    var percent= euro * 100/subtotal; 
    dscnt_addition_percent.val(percent); 
    $('#grandTotal').val(euro + subtotal); 
    } 

} 

ここでも少し変更あり

$('#table').on('keyup', '.update', function (event) { 
    var key = event.keyCode || event.charCode; 
    if(key == 8 || key == 46) return false; 
    calculateTotals(event); 
}); 

$('#percent,#euro').change(function (event) { 
    calculateTotals(event); 
}); 
関連する問題