我想计算表格中的值。输出应采用相同的形式和相同的行。
echo '<td id="textone_'.$row['id'].'">'.$row['fee']. '</td>';
echo '<td id="texttwo_'.$row['id'].'" align="center">
<input type="number" min="0" max="999"
name="cnt" value="0"
onkeyup="sum('.$row['id'].');"></td>';
echo '<td> <input type="text"
name="result_'.$row['id'].'" id="result"></td>';
<script src="//ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script>
function sum(rowid) {
var txtFirstNumberValue =
document.getElementById('textone_'+rowid).innerHTML;
var txtSecondNumberValue =
document.getElementById('texttwo_'+rowid).value;
var result = parseInt(txtFirstNumberValue) +
parseInt(txtSecondNumberValue);
if (!isNaN(result)) {
document.getElementById('result_'+rowid).value = result;
}
}
</script>
我尝试了此操作,但没有收到我的回复。我犯了什么错误
答案 0 :(得分:0)
您在js function sum()
的第一行中出错
var txtFirstNumberValue = document.getElementById('textone').innerHTML;
如果要从非输入字段访问值,则应使用innerHTML而不是value
如果您有多行,则必须执行类似的操作
HTML / PHP
echo '<td id="textone_'.$row['id'].'">'.$row['fee'].
'</td>';
echo '<td id="texttwo_'.$row['id'].'" align="center">
<input type="number" min="0" max="999"
name="cnt" value="0"
onkeyup="sum('.$row['id'].');"></td>';
echo '<td> <input type="text"
name="result_'.$row['id'].'" id="result"></td>';
$ row ['id']可以替换为表的主键或唯一字段
JS
<script>
function sum(rowid) {
var txtFirstNumberValue = document.getElementById('textone_'+rowid).innerHTML;
var txtSecondNumberValue = document.getElementById('texttwo_'+rowid).value;
var result = parseInt(txtFirstNumberValue) + parseInt(txtSecondNumberValue);
if (!isNaN(result)) {
document.getElementById('result_'+rowid).value = result;
}
}
</script>
希望这可以解决您的问题