我有以下PHP代码来生成一个表,其中的行的列具有以下属性:“id”、“lastname”和“firstname”。我想为每一行添加一个按钮,删除相应的行并让这一行尝试这样做:echo '<td><input type="button" value="Delete" onclick="deleteRow('+$i+')"></td>';
在下面的代码中。但是,它正在打印$i(1,2,3,4,…)的值,。。。这是我希望与按钮关联的行号),而不是将删除按钮专用于每一行(使用下面的代码,它不会创建任何按钮,除非我特别删除'+$i+'
部分)。怎么了?
<table>
<tr>
<td></td>
<td>id</td>
<td>Last Name</td>
<td>First Name</td>
</tr>
<?php
$i = 1;
foreach ( $names['result'] as $a ){ // $a is an array
echo '<tr>';
echo '<td><input type="button" value="Delete" onclick="deleteRow('+$i+')"></td>'; // issue is here
echo '<td>' . $q['id'] . '</td>';
echo '<td>' . $q['lastName'] . '</td>';
echo '<td>' . $q['firstName'] . '</td>';
echo '</tr>';
}
?>
</table>
最佳答案
.
是php
语言中的字符串连接运算符,而+
是javascript
语言中的连接运算符。
您应该使用onclick="deleteRow('.$i.')"
然后,在结束循环之前,使用$i++;