将html表数据传递给函数

时间:2018-02-27 03:42:00

标签: javascript php html function html-table

我已经使用过这个网站,但这是第一次发布。请善待。我尝试使用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>

1 个答案:

答案 0 :(得分:0)

我认为您使用onclick="markPaid(thistransaction.innterText)"未定义,因为thistransaction不是唯一的。您在foreach循环中的每一行上都将thistransaction设置为id。尝试使用每行唯一的内容,也就是回复发票的转发$transaction[transid]