2011-01-11 30 views
0

私は2与えられた値の量と価格から値を計算しようとしています。 jqueryのkeyupイベントを使用して、qtyと価格の現在の値から合計を計算しました。 keypressイベントを開始する現在のテキストボックスをどのように参照することができますか。割り当てられたボックスに対応する合計を入力します。
jqueryプラグインを知っていますか?結果を得るのが簡単になります。スクリーンショットHERESにjqueryのテキストボックスの現在の値を取得する方法

<script type="text/javascript"> 
$(function(){ 

$('input[name^=qty]').keyup(function(){ 

    var curprice=$('input[name^=price]').val(); 
    var curqty=$('input[name^=qty]').val(); 
    var curtotal=curprice * curqty; 

    $('input[name^=comp]').val(curtotal); 
}); 




}); 

</script> 

</head> 
<body> 




<?php 
for($a=0;$a<=5;$a++){ 
    ?> 


    Price:<input type="text" name="<?php echo 'price'.$a; ?>" value="<?php echo $a; ?>"/> 
    Quantity:<input type="text" name="<?php echo 'qty'.$a; ?>" value="<?php echo $a; ?>"/> 
    Computed:<input type="text" id="<?php echo 'a'.$a; ?>" name="<?php echo 'comp'.$a ?>" value="" /> 


    <?php 
echo "<br/>"; 
} 

?> 




</body> 
</html> 

alt text

詳細が必要な場合は、お気軽にお問い合わせください。

答えて

1
<script type="text/javascript"> 
$(function(){ 

$('input[name^=qty]').keyup(function(){ 

    var parentDiv = $(this).closest('div'); 
    var curprice=parentDiv.find('input[name^=price]').val(); 
    var curqty= this.value; 
    var curtotal=curprice * curqty; 

    parentDiv.find('input[name^=comp]').val(curtotal); 
}); 




}); 

</script> 

</head> 
<body> 




<?php 
for($a=0;$a<=5;$a++){ 
    ?> 

    <div> 

    Price:<input type="text" name="<?php echo 'price'.$a; ?>" value="<?php echo $a; ?>"/> 
    Quantity:<input type="text" name="<?php echo 'qty'.$a; ?>" value="<?php echo $a; ?>"/> 
    Computed:<input type="text" id="<?php echo 'a'.$a; ?>" name="<?php echo 'comp'.$a ?>" value="" /> 

    </div> 
    <?php 
echo "<br/>"; 
} 

?> 




</body> 
</html> 

現在のコードに対してすべての変更が適用されます。

1

他にもあります。 regexを使って要素の名前の番号部分を取得し、priceXとcompXという名前のものが関連する入力であると仮定します。

$("input[name^=qty]").keyup(function() { 

    var i = /^qty(\d+)$/.exec($(this).attr('name'))[1], 
     price = parseFloat($("input[name=price" + i + "]").val()), 
     qty = parseInt($("input[name=qty" + i + "]").val(), 10); 

    $("input[name=comp" + i + "]").val(price * qty); 

}); 

例:http://jsfiddle.net/AHUHu/

関連する問題