2016-05-13 3 views
-2

私は問題を抱えて、私は、2つのテキストフィールドを持つページまたはrealoadが、私はこのように、MySQLとPHPから取得する値と、オープンの両方がデフォルトで値を持っている:キーアップや入力で操作する方法は? JavaScriptの(jQueryの)

<input type="text" id="field1" value="<?php echo $first_value; ?>" /> 
<input type="text" id="utility" value="<?php echo $second_value; ?>" /> 

そして、私は#field1の値を変更するときに減算を行い、その結果を​​に示したいと思います。

問題は、操作の結果は、例えば、正しくないということです。

#field1は500初めてと​​1041.00を持っており、今、私は1000年に新しい値を#field1の値を変更した場合場合私は私を解決し

$('#field1').on('input', function() { 

    var difference = parseFloat($(this).val()); 
    var utility = $('#utility').val().replace(/,/g, ''); 


    var total = utility - difference; 

    if (!total) { total = 0; } 

    $('#utility').val(parseFloat(Math.round(total * 100)/100).toFixed(2)); 
}); 
+1

'do a rest'(Representational state transfer)PHPサーバーへのAjax呼び出しを意味しますか? – zipzit

+1

'問題は、操作の結果が正しくないことです。たとえば、「どうしてそれは正しいのですか?何が修正されたように見えますか? 「運営」とは何ですか?あなたは何をしようとしているのかを教えてください – Kisaragi

+0

@Kisaragi私はこれらの値で安心して結果を見ようとしていますが、デフォルトで '#utilty'の値は、操作をしたい、常にPHP変数の値でなければならないと、それがどのように変化しているのを見て、すみません、私はそれが私ができることを説明しようとしている、私の英語はあまり良くはない –

答えて

0

:​​は-69.06で、私はそれは私が新しい番号を削除したり、追加操作毎回やっていると思いますが、私はこの問題を解決する方法が分からない、これは私のjavascript(jqueryの)コードであります新しい入力フィールドタイプhiddenを同じv​​のALUEと私は#new_utilty

$('#field1').on('input', function() { 

    var difference = parseFloat($(this).val()); 
    var utility = $('#new_utility').val().replace(/,/g, ''); 


    var total = utility - difference; 

    if (!total) { 

     total = 0; 
     $('#utility').val(parseFloat(Math.round(utility * 100)/100).toFixed(2)); 

    } else { 

     $('#utility').val(parseFloat(Math.round(total * 100)/100).toFixed(2)); 
    } 
}); 

として命名され、これが私の解決策だったのAjaxコール

1

せずに余分なフィールドを追加することなく、あなたの他のオプションは、これが原因となる.on('blur',function(){})または単に.blur(function(){})

を使用することです入力がフィールドを離れてリフレッシュを強制したときに実行されるアクション。

関連する問題