-2

私はこのようなフォームを持っています

area: <input type="text" id="area" name="area" class="area"  value="0"/>
Price per square meter: <input type="text" id="square" name="square" class="square"       value="0"/>
Total Price: <span class="total"></span>
25% of total price:  <span class="25total"></span>

そしてスクリプト

<script type="text/javascript">
 $.fn.priceTotal = function() {
var valueArea = $("#area").val(); 
var valueAreaFinal = parseFloat(valueArea, 10);

var valueSquare = $("#square").val(); 
var valueSquareFinal = parseFloat(valueSquare, 10);

var TotalPriceFinal = valueAreaFinal * valueSquareFinal;
return TotalPriceFinal;
    };


    $(document).ready(function() {
$('input.area').bind('keyup', function() {
    $('span.total').html( $('input.price').priceTotal() );
});
$('input.square').bind('keyup', function() {
    $('span.total').html( $('input.price').priceTotal() );
});
    }); 

</script>

このフォームに面積と平方メートルあたりの価格を入力すると、合計価格が自動的に計算されます。私の問題は、25total と呼ばれる別のスパンで合計価格の 25% を計算する方法です。

4

2 に答える 2

0
<script type="text/javascript">
 $.fn.priceTotal = function() {
var valueArea = $("#area").val(); 
var valueAreaFinal = parseFloat(valueArea, 10);

var valueSquare = $("#square").val(); 
var valueSquareFinal = parseFloat(valueSquare, 10);

var TotalPriceFinal = valueAreaFinal * valueSquareFinal;
return TotalPriceFinal;
    };


    $(document).ready(function() {
$('input.area').bind('keyup', function() {
    $('span.total').html( $('input.price').priceTotal() );
    $('span.25total').html( $('input.price').priceTotal() / 4 );
});
$('input.square').bind('keyup', function() {
    $('span.total').html( $('input.price').priceTotal() );
    $('span.25total').html( $('input.price').priceTotal() / 4 );
});
    }); 

</script>
于 2012-09-20T11:50:29.633 に答える
0

keyup イベントを使用していることを考えると、priceTotal をできるだけ効率的にし、呼び出されるたびに変数を作成しないようにする必要があります。このソリューションに進みます:

  $.fn.priceTotal = function() {
        return parseFloat($("#area").val(), 10) * parseFloat($("#square").val(), 10)
    };


$(document).ready(function() {
    $('input.area, input.square').bind('keyup', function() {
      var priceTotal = $('input.price').priceTotal();
      $('span.total').html(priceTotal);
      $('.25total').text(parseInt(priceTotal) / 4));
   }
});

</script>
于 2012-09-20T11:52:08.943 に答える