【发布时间】:2017-04-26 18:35:12
【问题描述】:
我正在尝试更新从 MYSQL 查询生成的一些表行(可能有 40-50 行),每行末尾都有一个 Approve/Rejected 列,我想使用 jQuery 来更新行选择下拉菜单,我遇到的问题是它只更新第一行。
我曾尝试查看其他 Stackoverflow 线程,似乎有不少有类似问题,但我仍在尝试了解 jQuery,所以我不知道该怎么做。
我猜是因为类名相同?
我的 HTML 表格/表单
<table>
<tr>
<td>1</td>
<td>Ren</td>
<td>
<form method="post" action="" class="dangermouse">
<div class="form-group">
<select name="approval" class="approval">
<option value="0">Approved</option>
<option value="1">Reject</option>
</select>
</div>
<input type="hidden" name="id" value="1">
<input type="button" name="updaterow" class="save_button" value="Update">
</form>
</td>
</tr>
<tr>
<td>2</td>
<td>Stimpy</td>
<td>
<form method="post" action="" class="dangermouse">
<div class="form-group">
<select name="approval" class="approval">
<option value="0">Approved</option>
<option value="1">Reject</option>
</select>
</div>
<input type="hidden" name="id" value="2">
<input type="button" name="updaterow" class="save_button" value="Update">
</form>
</td>
</tr>
</table>
jQuery:
$('.save_button').click(function() {
var approval = $('.approval').val();
var id = $('.id').val();
$('.save_status').text('loading...');
$.post('updateRow.php',{
approval: approval,
id: id
}, function(data) {
$('.save_status').text(data);
}
);
});
PHP 文件:
if(isset($_POST['approval'],$_POST['id'])) {
$approval = $_POST['approval'];
$id = $_POST['id'];
if($approval !="" && $id !="") {
$pdo->ApproveOrDeny($approval, $id);
} else {
echo "The same thing we do every night, Pinky - try to take over the world!";
}
}
提前致谢。
【问题讨论】:
-
你需要访问被点击的表单值。而不是仅仅使用类名