我正在开发一个PHP / MySQL网格,列出两个小图标,一个应该删除实际的寄存器并删除该行,另一个应该将用户重定向到打开所选寄存器详细信息的另一个页面。 这就是我的代码的样子:
PHP:
$output .='<tr id="'.$id.'">';
$output .='<td align="center">'.$expiration_date.'</td>';
$output .='<td>'.$title.'</td>';
$output .='<td>'.$title_pt.'</td>';
$output .='<td align="center">'.$last_update.'</td>';
$output .='<td align="center">'.$active_pack.'</td>';
$output .='<td align="center" class="icon_grid"><a id="edit" title="Open the register." href="special_pack_open.php?id='.$id.'"><img src="images/Write2.gif" width="16" height="16" /></a></td>';
$output .='<td align="center" class="icon_grid"><a id="delete" title="Delete the register." href="#"><img src="images/Trash.gif" width="16" height="16" /></a></td>';
$output .='</tr>';
JQuery的:
<script type="text/javascript">
$(document).ready(function() {
$('table tr[id]').click(function(){
$(this).closest("tr").remove();
var obj = $(this);
$.ajax({
type: "POST",
url: 'delete_package.php',
data: { pk_id: obj.attr("id")},
dataType: "json",
success: function(data, evt) {
if (data.success == "true") {
alert('The record has been deleted successfuly!');
} else {
alert('error');
}
}
})
})
})
</script>
一切都很好。当我单击Trash.gif时,它会删除寄存器并删除该行。事情就是当我点击它应该转到下一页的Write2.Gif(第二个链接)时,它执行与删除相同的操作! 如何更改我的JQuery代码以使其理解只有一个链接专用于删除寄存器?
谢谢。
答案 0 :(得分:0)
$("table tr[id]")
是任何tr
的选择器,它是table
的后代,具有任何id
属性。您需要一个更具体的选择器。
由于您将有很多行,您可能应该使用类而不是 id 进行编辑/删除。
$(".delete").on("click", function () { /* your code */
您可能还需要委派活动
$("#id-of-table").on("click", ".delete"
答案 1 :(得分:0)
我对jQuery没有经验,但看起来您的选择器导致删除功能与tr的click事件相关联。尝试使用$('#delete')。点击而不是$('table tr [id]')。点击。
答案 2 :(得分:0)
<script type="text/javascript">
$(document).ready(function() {
$('table tr[id]').click(function(){
$(this).closest("tr").remove();
var obj = $(this);
$.ajax({
type: "POST",
url: 'delete_package.php',
data: { pk_id: obj.attr("id")},
dataType: "json",
success: function(data, evt) {
if (data.success == "true") {
alert('The record has been deleted successfuly!');
} else {
alert('error');
}
}
})
})
})
</script>
用这个$('a#delete')
替换这个$('table tr [id]')