2017-02-26 3 views
2

小数点を設定した数値フィールドを使用して計算をしようとしています。10進数フィールドを使用した計算

小数は正しく表示されていますが、計算が実行されていません。

function setZeroNumberDecimal(el) { 
    el.value = parseFloat(el.value).toFixed(0); 
}; 
function setThreeNumberDecimal(el) { 
    el.value = parseFloat(el.value).toFixed(3); 
}; 

$(document).ready(function(){ 
$(".calc").keyup(function(){ 
     var areasf = +$(".SF").val(); 
     $("#acre").val(areasf/43560); 
}); 
}); 

そしてHTML::

<input type="number" onchange="setZeroNumberDecimal(this)" name="grosslandSF" class="calc SF"> 
    <input type="number" onchange="setThreeNumberDecimal(this)" name="grosslandacre" disabled="disabled" id="acre"> 

すべてのヘルプは素晴らしいことだ。ここに私のjavascriptです。

+0

この[回答](http://stackoverflow.com/a/34057860/4824627)とこの[回答](http://stackoverflow.com/a/22654797/4824627)とこの[回答]( http://stackoverflow.com/q/19011861/4824627)、ここでは「ステップ」が問題になる可能性があります –

+1

小数は問題ではありませんでした。それは計算でした。 –

答えて

0

インラインonchangeイベントの代わりに、oninputイベントを使用できます。あなたはのように値を変更すると

$("#acre").val(areasf/43560) 

この意志はないfire対応するイベントなので、自分でそれを行う必要があります。

$("#acre").val(areasf/43560).trigger('input'); 

をスニペット:

function setZeroNumberDecimal(el) { 
 
    el.value = parseFloat(el.value).toFixed(0); 
 
}; 
 
function setThreeNumberDecimal(el) { 
 
    el.value = parseFloat(el.value).toFixed(3); 
 
}; 
 

 
$(document).ready(function(){ 
 
    $(".calc").keyup(function(){ 
 
     var areasf = +$(".SF").val(); 
 
     $("#acre").val(areasf/43560).trigger('input'); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 

 
<form> 
 
    <input type="number" oninput="setZeroNumberDecimal(this)" name="grosslandSF" class="calc SF"> 
 
    <input type="number" oninput="setThreeNumberDecimal(this)" name="grosslandacre" disabled="disabled" id="acre"> 
 
</form>

+0

ありがとうございました、計算が実行されており、3小数に固執しています。しかし、あなたが43560を入れた場合、結果は1ですが、それは1.000でなければなりません。エーカーを持つ土地です。 –

+0

@MichaelM確かに、43560を入力すると結果は次のようになります。 1.000。どのブラウザを使用していますか? – gaetanoM

+1

あなたは正しいです。私はonchangeに変更するのを忘れていました。ありがとう、gaetanoM。あなたは私に大きな頭痛を救った! –

関連する問題