我有一个系统,目前在浏览器的html中输出结果表。
可以通过单击每行上的approveCredit按钮来更新这些结果。
我想创建一个javascript catch,它会查找按钮单击并从行中传递给定变量并执行ajax任务。
代码:
PHP回显结果表
$scope.sendTextMessage = function() {
//Do some socket.io to send $scope.msgInput
$scope.messageInput = '';
}
Javascript等待按钮点击
<tbody>
<?php
$count = 1;
while ($row = mysql_fetch_array($test))
{?>
<tr>
<td class="text-center"><?php echo $count++;?></td>
<td><?php echo $row['user_id'];?></td>
<td><?php echo $row['credits'];?></td>
<td><?php echo $row['notes'];?></td>
<td><?php echo $row['po'];?></td>
<td><?php echo $row['date_received'];?></td>
<td class="text-center">
<div class="btn-group">
<a class="btn btn-xs btn-default approveCredit" type="button" value="<?php echo $row['credits'];?>" data-toggle="tooltip" data-original-title="Approve Credit Request"><i class="fa fa-check"></i></a>
</div>
</td>
</tr>
<?php } ?>
</tbody>
答案 0 :(得分:2)
试试这个。 实际上你必须使用Jquery attr从ancher获取价值
<a class="btn btn-xs btn-default approveCredit" type="button" value="<?php echo $row['credits'];?>" data-toggle="tooltip" data-original-title="Approve Credit Request"><i class="fa fa-check"></i></a>
值是ancher的一个属性。所以你应该像这样使用它,
var creditid = $('.approveCredit').attr('value');
并且还防止ancher(标记)的默认操作更改您的代码
$('.approveCredit').on('click', function(e) {
e.preventDefault();
var creditid = $('.approveCredit').attr('value');
$.ajax({
url: "ajax url to update database",
type: "POST",
data: {creditid: creditid},
success: successFunction,
error: errorFunction
});
});