0

JQuery 関数で複数のフィールドを合計しようとしていますeachが、常に「0」が返されます。このトピックはここで議論されました。コードスニペットをお借りしました。

構文で何か間違ったことをしていますが、それが何であるかを判断できません。常に null 値または 0 が返されます。

<!DOCTYPE html>
<html lang="en">
  <head>

  </head>
  <body>
    <table>
        <tr>
            <td>
            Value 1
            </td>
            <td>
            Value 2
            </td>
            <td>
            Sum
        </td>
    </tr>
    <tr>
        <td>
            <input class="SumText" type="text" id="Value1">
        </td>
        <td>
            <input class="SumText" type="text" id="Value2">
        </td>
        <td>
            <input class="TotalText" type="text" id="Total">
        </td>
    </tr>
</table>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
    $(document).ready(function(){
        $('.SumText').change(function(){
            var sum = 0;
            // iterate through each td based on class and add the values
            $('.SumText').each(function() {
                var value = $(this).text();
                alert("This.Text: " + $(this).text() + "Value: " + value);
                // add only if the value is number
                if(!isNaN(value) && value.length != 0) {
                    sum += parseFloat(value);
                }
            });
            $('#Total').val(sum);
        });
    });

</script>

4

1 に答える 1