0

こんにちは、change メソッドを使用した計算結果の更新に問題があります。

計算は、表の行に配置された動的に作成されたデータから行われます。したがって、各行の最後の列には、価格の合計 * 数量が表示されます (数量は、動的に作成された選択要素から派生します)。各行を作成する方法は、オートコンプリート入力ボックスからオプションを選択することです。

ユーザーが dt にある select 要素からオプションを選択するたびに、その行の合計を更新する必要があります。最初は機能しますが、2 回目は結果列が NaN になります。

jSfiddle

行を設定する方法に問題があるかもしれないと思います

 $("tr").not(":first").each(function(){// meant to not get the header but the rest of the rows which have the data for the calculations 

または数学の部分。文字列から 0 を減算して数値にしたので、NaN を取得するべきではないと思います。私は、あなたには明らかなように見える何かを台無しにしていることを知っていますが、私には間違いありません。

 $("tr").not(":first").each(function(){
     var qnty = 0;

    $('select').change(function(){
        qnty = $('select').val();
        calcTotal();
    })
    function calcTotal(){
       var price = (($(".price").text()) - 0).toFixed(2)
        $(".total").text(qnty * price);
    }
 })

問題を要約すると。計算は、データを含む行が 2 回目に作成された時点から機能しません。結果列の結果は NaN です。結果が合計列の各行の数量 * 価格の計算であることは明らかです。

ここで、私の問題を説明する jSfiddleを示します。

4

1 に答える 1