-2

私は JavaScript/jQuery の初心者で、jQuery Mobile を使用して最初のアプリを設計しています。

これは、分光計算に使用される基本的な計算機です。

3 つのフィールドがあります。最初と 2 番目のフィールドに値を入力し、3 番目のフィールドに表示される数値を計算します。関数を使用keyupして、リアルタイムの計算を実行しました。

追加したい機能は、計算が実行された後、3 番目のフィールドに表示され、3 番目のフィールドを変更して 2 番目のフィールドの変更を確認できることです (逆の計算が行われます。最初のフィールドは同じままです)。

JavaScriptでこれを行う最良の方法は何ですか? 私の例では、逆計算を実行しましたが、それを表示する方法がわかりません。

HTML

<div data-role="content" class="page11" >
    <div data-role="fieldcontain">
        <label for="l0">Excitation</label>
        <input type="text" name="l0" id="l0" data-clear-btn="true" value="">
        <label for="l1">Signal</label>
        <input type="text" name="l1" id="l1" data-clear-btn="true" value="">
        <label for="l2">Shift</label>
        <input type="text" name="l2" id="l2" data-clear-btn="true" value="">    
    </div>

Javascript

$('input').keyup(function () {

var l0 = parseFloat($('#l0').val()) || 0;
var l1 = parseFloat($('#l1').val()) || 0;
var dw1 = (l0 * l1)/2 || 0;
var dw = dw1.toFixed(2);
document.getElementById("l2").value = dw;

/* Inverse calculation */

var dw2 = parseFloat($('#l3').val()) || 0;
var l1_22 = 2 * dw2 / l0;
var l1_2 = l1_22.toFixed(2);


});

ありがとうございました

4

1 に答える 1

1

http://jsfiddle.net/6RrVG/

私はこれを作り上げました:

html

<p>F: <input type="text" name="f" value="50.0" /></p>
<p>=</p>
<p>m: <input type="text" name="m" /></p>
<p>&times;</p>
<p>a: <input type="text" name="a"  /></p>

jQuery:

var $f = $('input[name=f]');
var $m = $('input[name=m]');
var $a = $('input[name=a]');
$m.on('keyup',function() {
    var f = +$f.val();
    var m = +$m.val();
    $a.val(f/m).toFixed(1);
});
$a.on('keyup',function() {
    var f = +$f.val();
    var a = +$a.val();
    $m.val(f/a).toFixed(1);
});

キーアップ ハンドラーを入力にアタッチし、それぞれに固有の計算を行います。

于 2013-07-15T17:05:18.587 に答える