0

私はこの機能を持っています:

    $("#inc<?php echo"$key"; ?>").click(function(){

    prod_id = "<?php echo"$key"; ?>";
    $.ajax({
    type: "POST",
    url: "updateproduct2cart.php",
    data: "itemid="+prod_id+"&act=update&qty=up"
    });

    var currentValue = $("#inc<?php echo"$key"; ?>").closest('#SCprodsB').next('#SCprodsF').find('#totalCommande').html();
    currentValue = parseFloat(currentValue);

    $(":text[name='qty<?php echo"$key"; ?>']").val(Number($(":text[name='qty<?php echo"$key"; ?>']").val()) + 1);

    var totalItems = parseFloat($("#qty<?php echo"$key"; ?>").val());
    var priceItem = parseFloat(<?php echo"$priceProduct"; ?>).toFixed(2);
    var totalValueUp = parseFloat(priceItem * totalItems).toFixed(2);
    $("#subtotal<?php echo"$key"; ?>").html("&#128; "+ totalValueUp);

    /* PART BELOW IS NOT WORKING PROPERLY*/

    var numItems = parseFloat($(":text[name='qty<?php echo"$key"; ?>']").val());
    var totalPriceItems = parseFloat(priceItem * numItems).toFixed(2);
    var newValue = parseFloat(currentValue + totalPriceItems).toFixed(2);
    $("#inc<?php echo"$key"; ?>").closest('#SCprodsB').next('#SCprodsF').find('#totalCommande').html(newValue);

    });

そして、これは HTML 部分です:

<table id="SCproduits" summary="commande">
    <caption></caption>
    <thead>
        <tr>
            <th scope="col">--</th>
            <th scope="col">--</th>
            <th scope="col">--</th>
            <th scope="col">--</th>
            <th scope="col">--</th>
            <th scope="col">--</th>
            <th scope="col">--</th>
            <th scope="col">--</th>
        </tr>
    </thead>
    <tbody id="SCprodsB">
        <tr id="prodItemi3" name="prodItemi3">
            <tr id="prodItemi4" name="prodItemi4">
                <th id="prodItemi4" scope="row">xxxxxxxxx</th>
                <td>xxx</td>
                <td>
                    <td>
                        <button id="deci4" class="SCbutton">-</button>
                        <input id="qtyi4" class="SCinput3" type="text" size="2" value="1"
                        name="qtyi4">
                        <button id="inci4" class="SCbutton">+</button>
                    </td>
                    <td>
                        <td>
                            <td>
                                <td>
            </tr>
    </tbody>
    <tfoot id="SCprodsF">
        <tr>
            <th scope="row"></th>
            <td colspan="7">€ <span id="totalCommande">xxx</span>

            </td>
        </tr>
    </tfoot>
</table>

(inci4 ボタン) を使用しているときに、(span id="totalCommande") を正しい合計値で更新することができません。何か案が ?私は間違った方向に進んでいますか?ありがとう

4

1 に答える 1

0

あなたの問題はここにあるかもしれません:

var totalPriceItems = parseFloat(priceItem * numItems).toFixed(2);
var newValue = parseFloat(currentValue + totalPriceItems).toFixed(2);

を使用.toFixedすると、数値が文字列に変換されます。次に、currentValue(数値) をtotalPriceItems(文字列) に加算すると、加算ではなく文字列連結を行うことになります。

したがって、currentValue = 1との場合、の代わりに答えると (文字列)totalPriceItems = "2"が得られます。"12"3

于 2013-01-07T16:34:40.263 に答える