2014-09-10 85 views
0

這裏我有一些某種形式的組與來自數據庫值字符串轉換爲INT的Javascript

<div class="form-group"> 
    <label for="exampleInputTotalBayar">Total Bayar</label> 
    <input type="text" class="form-control" id="inputTotalBayar" placeholder="Total Bayar" name="totalBayar" value="{{ $peminjaman->totalBayar }}"> 
</div> 
<div class="form-group"> 
    <label for="exampleInputJumlahBayar">Jumlah Bayar</label> 
    <input type="text" class="form-control" id="inputJumlahBayar" onchange="" placeholder="Jumlah Bayar" name="jumlahBayar" value="{{ $peminjaman->jml_bayar }}"> 
</div> 

然後我想以這種形式給新的價值觀

<div class="form-group"> 
    <label for="exampleInputDenda">Denda</label> 
    <input type="text" class="form-control" id="exampleInputDenda" placeholder="Denda" name="denda" value="{{ $peminjaman->denda }}"> 
</div> 

所以,當我給新價值在表單組Denda中,輸出將顯示在這裏

<p>Bayar Pengembalian: <div id="bayar" name="bayar"></div></p> 

我對javascript的代碼是這樣的

<script type="text/javascript"> 

var bayar = parseInt("0"); 
var totalBayar = parseInt($("#inputTotalBayar").val()); 
var jumlahBayar = parseInt($("#inputJumlahBayar").val()); 
var denda = parseInt($("#exampleInputDenda").val());  
$("#exampleInputDenda").change(function() { 
    bayar = bayar + denda + totalBayar - jumlahBayar;   
    $("#bayar").html(bayar); 
}); 

但是計算結果沒有出現,你可以幫我解決這個問題?

+0

我發現這不應該永遠如此d在SO ...在網上快速搜索就足以確定如何執行類型轉換........ – 2014-09-10 08:47:13

+0

把你的變量初始化在你的函數中。 – 2014-09-10 08:48:03

回答

1

你必須使用

$("#exampleInputDenda").keyup(function() { 
    var bayar = parseInt("0"); 
    var totalBayar = isNaN($("#inputTotalBayar").val()) ? 0 : parseInt($("#inputTotalBayar").val()); 
    var jumlahBayar = isNaN($("#inputJumlahBayar").val()) ? 0 : parseInt($("#inputJumlahBayar").val()); 
    var denda = isNaN($("#exampleInputDenda").val()) ? 0 : parseInt($("#exampleInputDenda").val()); 
    bayar = bayar + denda + totalBayar - jumlahBayar; 
    $("#bayar").html(bayar); 
}); 

錯誤檢查:)

+0

感謝您的幫助... – user3796075 2014-09-10 09:10:01

0

只要改變你的事件處理程序,所以你可以得到的值時,實際的事件發生,像這樣 - JSFiddle example

$("#exampleInputDenda").change(function() { 
    var bayar = parseInt("0"); 
var totalBayar = parseInt($("#inputTotalBayar").val()); 
var jumlahBayar = parseInt($("#inputJumlahBayar").val()); 
var denda = parseInt($("#exampleInputDenda").val()); 
    var res = bayar + denda + totalBayar - jumlahBayar;   
    $("#bayar").html(res); 
}); 

P.S 和D點擊Enter真正看到新的價值!

+0

這項工作非常好,謝謝你的幫助... – user3796075 2014-09-10 09:09:42

0

看到這與您的代碼的幻燈片變化:

$(document).ready(function(){ 

    $("#exampleInputDenda").change(function(){ 
getValues(); 
}); 

// when using click event on button 
    $("#me").click(function(){ 
     getValues(); 
    }); 

    }); 

function getValues(){ 
    var bayar = parseInt("0"); 
    var totalBayar = parseInt($("#inputTotalBayar").val()); 
    var jumlahBayar = parseInt($("#inputJumlahBayar").val()); 
    var denda = parseInt($("#exampleInputDenda").val());  

     bayar = bayar + denda + totalBayar - jumlahBayar;   
     $("#bayar").html(bayar); 

} 
</script> 

看到點擊使用此:

<button id="me" onclick='getValues()'>Click me!</button> 
+0

感謝您的幫助 – user3796075 2014-09-10 09:10:26