0

我正在尝试使用eachJQuery 函数对多个字段求和,但总是返回“0”。这个话题在这里讨论过。我借用了代码片段。

我的语法不正确,但无法确定它是什么。我一直返回一个空值或 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

1

您在另一个问题中的代码是正确的(对于这种情况)。<input>元素没有文本。他们有价值观:

$(this).val()
于 2013-06-08T21:10:07.383 回答