私はいくつかのjQuery関数を使って、2つのnumber_field
をレールに乗算しようとしています。jQueryが正しく数値を掛け合わない
私のjQueryのコードはこれです:
$('#mycometer_coc_sample_bv1').change(function() {
$('#cv').empty();
var BV1 = $('#mycometer_coc_sample_bv1').val();
var BV2 = $('#mycometer_coc_sample_bv2').val();
$('#mycometer_coc_sample_cv').val((BV2 - BV1)*0.84 + BV2);
$('#cv').append($('#mycometer_coc_sample_cv').val());
});
$('#mycometer_coc_sample_bv2').change(function() {
$('#cv').empty();
var BV1 = $('#mycometer_coc_sample_bv1').val();
var BV2 = $('#mycometer_coc_sample_bv2').val();
$('#mycometer_coc_sample_cv').val((BV2 - BV1)*0.84 + BV2);
$('#cv').append($('#mycometer_coc_sample_cv').val());
});
#mycometer_coc_sample_cv
は戻って私のコントローラに値を送信するために使用される隠しnumber_fieldです。その値をdivに表示するIm #cv
最初の機能は正しく動作します。 BV1に2を入力すると、-1.68のCVに正しい出力が得られますが、BV2に2番目の値12を入力すると、正しい出力が得られると8.412になります20.4
私は何が間違っているのか分かりません。 誰でもこれをデバッグするのに役立つことができますか?
いくつかのスクリーンショット: が第1の値を入力する=正しい出力
2番目の値何かが間違っていると間違った出力を行きます。 CVは20.4
(12-2)= 10 => 10 * 0.84 = 8.4 => 8.4 + 12 = 20.4
jQueryは乗算を行いません。それはJavaScriptです。 '.val()'からの戻り値は常に**文字列**なので、それを明示的に数値にする必要があることを理解してください。 – Pointy
それはブラウザで行われます...あなたが使用するサーバ言語やフレームワークについて何も知らない。 Railsは無関係です – charlietfl
'.val()'が返された文字列を知りませんでした。私の変数を 'Number()'にラップした後、私に正しい出力を与えた –