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>