0

物事を正しく命名するという点で私がマークから大きく外れているなら、私を許してください。

各選択が選択された後に価格を計算する複数のドロップダウンリストがあります。すべてのリストの最後に、毎回合計される合計金額がありますが、最後のドロップダウンリストで合計金額を%だけ割引します。それに。

価格はmysqlからのものであり、割引もあります。これが価格を取得するために使用するコードです。

$(function(){
    $(".calculate").on("change", function(){
        var total = 0;
        $('.calculate').each(function() {
            if($(this).val() != 0) {
                total += parseFloat($(this).val());
            }
        });
        $('#total').text('£' + total.toFixed(2));
    });

});//]]>

と関係があると思いましたtotal += parseFloat($(this).val());+交換し/てもうまくいくと思いましたが、何もありませんか?

ありがとう

4

2 に答える 2

0

このようなものかもしれません:

$(function(){
   $(".calculate").on("change", function(){
       var total = 0;
       var discount_amount = define_value;
       $('.calculate').each(function() {
           if($(this).val() != 0) {
               discount_amount = $(this).val() * discount_variable;
               line_total = $(this).val() - discount_amount;
               total += parseFloat(line_total);
           }
       });
       $('#total').text('£' + total.toFixed(2));
});

});//]]>
于 2012-05-16T18:04:48.827 に答える
0

まず、割引を行うcalculateからクラスを削除し、 に割り当てます。 の例を次に示します。<select>id="discount"<select>

<select id="discount" name="select-3">
    <option value="0">Select Discount Amount</option>
    <option value="10%">10%</option>
    <option value="20%">20%</option>
    <option value="50%">50%</option>
</select>

次に#discount、 または要素のいずれかが変更された場合、最初にループして、次のように割引を適用する前に.calculate、すべての要素の合計を class に追加します。calculate

$(function(){
    $(".calculate, #discount").on("change", function(){
        var total = 0;
        $('.calculate').each(function() {
            if($(this).val() != 0) {
                total += parseFloat($(this).val());
            }
        });
        if($('#discount').val() != 0) {
          total = total * ((100 - parseFloat($('#discount').val())) / 100);
        }
        $('#total').text('£' + total.toFixed(2));
    });
});

ここにフィドルがあります

于 2012-05-16T18:29:28.140 に答える