我有一个html表,该表由来自mysql数据库的数据填充。这就是结构:
<table>
<?php
foreach($prods as $key=>$p){
?>
<tr class="row1" id="tr<?php echo $p['ProductID']?>">
<td id="pid<?php echo $p['ProductID']?>"><?php echo $p['ProductID']?></td>
<td id="pname<?php echo $p['ProductID']?>"><?php echo $p['ProductName'];?></td>
<td id="pdesc<?php echo $p['ProductID']?>"><?php echo $p['ProductDesc'];?></td>
<td id="pprice<?php echo $p['ProductID']?>"><?php echo $p['UnitPrice'];?></td>
<td><input type="checkbox" id="chk<?php echo $p['ProductID']?>" checked></td>
<td><input type="text" style="width:50px;" onkeyup="getall(this);" id="<?php echo $p['ProductID']?>"></td>
<td><input type="text" style="width:50px;" id="total<?php echo $p['ProductID']?>"> </td>
<span id="ttl" name="ttl"> 0.00</span>
</tr>
<?php
}
?>
</table>
我在填充表时没有问题,但每次用户更改<input type="text" style="width:50px;" onkeyup="getall(this);" id="<?php echo $p['ProductID']?>"></td>
的值时,我都需要更新<span id="ttl">
的值。我做了一个Javascript函数,但我做不到我想要的。
跨度值应为<td id="pprice<?php echo $p['ProductID']?>"><?php echo $p['UnitPrice'];?></td>
和用户在文本框中输入的数量的乘积。
一旦填写完所有字段,我将很快将这些数据保存回数据库。
不确定是否正确使用了。只需尝试以下内容:
<input type="text" style="width:50px;" onkeyup="getall('<?php echo $p['ProductID']?>');" id="<?php echo $p['ProductID']?>"></td>
在您的javascript函数中:
function getall(strId)
{
var tmpObj = document.getElementById(strId);
alert("reported id for testing: " + tmpObj.getAttribute("id"));
}
试试看。