2011-02-07 17 views
0

私は両方の入力値(5 + 2)の出力に "製品"の量($ 50.25)の出力を与えるために、これらの2つ以上の入力をjqueryに追加しようとしています。 これらの入力にクラスやIDを割り当てずに、すべての入力を追加するにはどうすればよいですか? ここで私を案内してもらえますか?Jqueryフォーム - 入力を追加できますか?

<input type="text" value="5" /> <input type="text" value="2" /> 
<h3></h3> 

<script> 
$("input").keyup(function() { 
    var value = parseFloat($(this).val()); 
    var item_price = parseFloat("50.25"); 

    $("h3").text(value * item_price); 
    }).keyup(); 
</script> 

このコードは、最新の編集フィールドを出力します。たとえば、最初のフィールドの値を2に切り替えると、合計が「100.5」に変更され、次に他のフィールドを変更すると、そのフィールドに基づいて合計が変更されます。両方ではなく変更されます。

キーリスナーを$( "input")に挿入しようとしましたが、結果が返されなかったため、each()セレクターが明らかにコードにスナップされました。

$("input").each(function() { 
    value += parseFloat($(this).val()); 
    $("input").keyup(function() { 
    var value = parseFloat($(this).val()); 
    var item_price = parseFloat("50.25"); 

    $("h3").text(value * item_price); 
}).keyup(); 
}); 

答えて

0

これはあなたが探しているようです。すべての計算を関数に入れ、その関数をkeypressにバインドするだけです。また、私のデモで行ったように、すぐにその関数を呼び出して最初の計算をしたいと思うでしょう。

ライブデモをご覧ください:http://jsfiddle.net/za2vJ/4/

0

あなたのスコープが正しくありません:

$("input").keyup(function() { 
    var itemPrice = 50.25; 
    var total = 0.0; 
    $("input").each(function() { 
     total += parseFloat($(this).val()); 
    }); 
    $("h3").html(total * itemPrice); 
}).keyup(); 
+0

いいえ、それは動作しません。フィールドを編集するたびに「合計」に追加されるためです。さらに、なぜ神々の緑の地球で余分な不要なvar、varの合計を追加することによってリソースを浪費するのでしょうか?生の数字を出力したくない場合はどうすればいいですか? – Yisroel

+0

@Yisroelそれでは、私はこれを真っ直ぐにしましょう...あなたはここで助けを求めてきましたが、あなたは十分に精通しており、あなたの質問がうまく表現されておらず、私が誤解しているように思えるからです。これは、他の2つの答えによってここで提案された全く同じコードです。証明はプディングにある:** [jsfiddle](http://jsfiddle.net/lthibodeaux/8bDgL/)** – lsuarez

0

キーポイントは、入力スルーループにあるとその値を追加します。

var totalInput = 0; 
$("input").keyup(function() { 
    //zero out the global var totalInput 
    totalInput = 0; 
    $("input").each(function(){ 
     //for each input, add value to global totalInput 
     totalInput += $(this).val() 
    }); 

    //setup price 
    var item_price = parseFloat("50.25"); 

    //display price times totalInput 
    $("h3").text(totalInput * item_price); 
}); 
関連する問題