我已经使用过这个网站,但这是第一次发布。请善待。我尝试使用onclick将数据从HTML表传递到函数。我能够使用onclick="markPaid(transaction.innterText)
传递整个表,但我希望能够仅从当前数据行传递数据。我最好的尝试是onclick="markPaid(thistransaction.innterText)"
但是在传递给函数" markPaid"时会产生一个未定义的变量。希望这是对这个问题的明确解释。
<table id ="transaction" border="1">
<style>th, td {padding: 10px;}</style>
<thead>
<tr>
<th><?php echo implode('</th><th>', array_keys(current($transactions))); ?></th>
<th></th>
</tr>
</thead>
<tbody>
<?php foreach ($transactions as $transaction): array_map('htmlentities', $transaction); ?>
<tr>
<td id = "thistransaction"><?php echo implode('</td><td>', $transaction); ?></td>
<td><a class ="btn btn-default" href="invoice.php?ID=<?php echo $transaction['transid']; ?>" target = "_blank">Print Invoice</a> </td>
<?php if($transaction['paid'] == false): ?>
<td><button class = "btn btn-default" onclick="markPaid(thistransaction.innterText)">Mark as Paid</button></td>
<?php endif; ?>
</tr>
<?php endforeach; ?>
</tbody>
</table>
答案 0 :(得分:0)
我认为您使用onclick="markPaid(thistransaction.innterText)"
未定义,因为thistransaction
不是唯一的。您在foreach循环中的每一行上都将thistransaction
设置为id
。尝试使用每行唯一的内容,也就是回复发票的转发$transaction[transid]