2016-02-13 69 views
0

我有總共6個輸入場的像輸入字段值,但也可以是手動的輸入

<input type="text" name="count500" id="count500" value=""> 
<input type="text" name="count200" id="count200" value=""> 
<input type="text" name="count100" id="count100" value=""> 
<input type="text" name="count50" id="count50" value=""> 
<input type="text" name="count10" id="count10" value=""> 
<input type="text" name="total" id="total" value=""> 

在每個前五個的輸入字段的值,對KEYUP,總被instanly上示出的「總計」輸入字段。

<script> 
    function doTotal() { 
    count500 = parseFloat($("#count500").val() * 500) || 0; 
    count200 = parseFloat($("#count200").val() * 200) || 0; 
    count100 = parseFloat($("#count100").val() * 100) || 0; 
    count50 = parseFloat($("#count50").val() * 50) || 0; 
    count10 = parseFloat($("#count10").val() * 10) || 0; 
    total = count500 + count200 + count100 + count50 + count10; 
    $("#totak").val(nc.toFixed(2)); 
    } 

$('input').keyup(function() { 
    doTotal();   
}); 
</script> 

這很好,沒有問題。

但我還希望用戶能夠手動輸入一個值。目前任何真實輸入到它消失,

任何幫助表示讚賞

+0

我可以給你一些簡單的技術,這更容易?? –

回答

1

inputValues添加到比總其它輸入元素。通過添加您正在排除toltal的輸入字段的類。

HTML

<input type="text" name="count500" class="inputValues" id="count500" value=""> 
<input type="text" name="count200" class="inputValues" id="count200" value=""> 
<input type="text" name="count100" class="inputValues" id="count100" value=""> 
<input type="text" name="count50" class="inputValues" id="count50" value=""> 
<input type="text" name="count10" class="inputValues" id="count10" value=""> 
<input type="text" name="total" id="total" value=""> 

jQuery的

function doTotal() { 
    count500 = parseFloat($("#count500").val() * 500) || 0; 
    count200 = parseFloat($("#count200").val() * 200) || 0; 
    count100 = parseFloat($("#count100").val() * 100) || 0; 
    count50 = parseFloat($("#count50").val() * 50) || 0; 
    count10 = parseFloat($("#count10").val() * 10) || 0; 
    total = count500 + count200 + count100 + count50 + count10; 
    $("#totak").val(nc.toFixed(2)); 
} 
$('input.inputValues').keyup(function() { 
    doTotal();   
}); 
0

這是你的問題的其他解決辦法,如果你需要,那麼你可以使用。

以下是如何達到/達到目的地的簡短方法。

修改HTML:

<input type="text" name="count500" class="count counter" data-multi= "500" value=""> 
<input type="text" name="count200" class="count counter" data-multi= "200" value=""> 
<input type="text" name="count100" class="count counter" data-multi= "100" value=""> 
<input type="text" name="count50" class="count counter" data-multi= "50" value=""> 
<input type="text" name="count10" class="count counter" data-multi= "10" value=""> 
<input type="text" name="total" class="doTotal" value=""> 

新的jQuery:

$(".count").on("keyup", function(){ 
    var doTotal = 0; 
    $(".counter").each(function(){ 
     var multiplyer = $(this).attr("data-multi"); 
     doTotal += parseFloat($(this).val() * multiplyer) || 0; 
    }); 
    $(".doTotal").val(doTotal.toFixed(2)); 
}); 

如果你得到幫助,然後讓我知道。