2

マイレージを求める入力がある経費報告書タイプのフォームがあります。ユーザーが数字を入力するときに、払い戻される金額を表示する自動計算のような機能が欲しいのですが。

たとえば、ユーザーが「65」と入力した場合、入力ボックスの右側は「65 x $ .555 =$36.08」になります。

JSは私の強みではありませんが、JSで生成されたテキストを表示するには、非表示のdivを使用する必要があります。また、「合計」が小数点以下2桁に丸められるようにするためのコードも必要です。何かアイデア/提案はありますか?

4

4 に答える 4

4

$(function () {
    $('#amount').change(function () {
         var $this = $(this);

        $this.next('label').text((parseFloat($this.val()) * .555).toFixed(2))            
    });        
});​

jQueryは必要ありませんが、役に立ちます。

toFixedメソッド

parseFloatメソッド


丸めを行う必要がある場合:

var rounded = Math.round(parseFloat($this.val()) * 100) / 100;
于 2012-04-23T17:53:16.457 に答える
2

フォームタグにonsubmit、数学関数を呼び出す属性を追加します。例えば ​​:

<form action="movie.php" method="post" onsubmit="doTheMath()">

そして、Javascriptで関数を作成します:

<script type="text/javascript">
function doTheMath() 
{
     // do something

     // submit the form
     return true;
}
</script>
于 2012-04-23T17:51:41.000 に答える
1

あなたはこれを行うことができます:

HTML:

​&lt;form method="post">
<span>Type here:</span><input type="text" id="num"></input>
</form>

<span id="display_text"></span>

JS:

num_field = document.getElementById("num");
num_field.onkeyup=function () {

    mult_field = 0.555;
    num_math = num_field.value * mult_field;
    num_string = num_field.value + "*" + mult_field + "=" + num_math;
    document.getElementById("display_text").innerHTML = num_string;
}​

これにより、計算が行われ、入力中に表示されます。

JSフィドル: http: //jsfiddle.net/s9jcC/

于 2012-04-23T18:07:38.423 に答える
1

プレーンJavaScriptを使用する

window.onload=function()
{
    var txt=document.getElementById('amount');
    var span=document.createElement('span');
    txt.parentNode.insertBefore(span, txt.nextSibling);
    txt.onkeyup=function()
    {
        span.innerHTML="";
        var val=txt.value;
        if(val.length > 0 && isNaN(val)) 
        {
            span.innerHTML=" Invalid number !";
            return false;
        }
        var result=val*0.555;
        if(parseFloat(result)>0) span.innerHTML=' $'+result.toFixed(2);
    }
}

例。

于 2012-04-24T04:54:41.420 に答える