我的删除按钮:
$('#taglist li #delete').bind('click', function(){
pic_id = $(this).parent().attr("rel");
$.post('savetag.php', {"type":"remove", pic_id:pic_id}, function(data){
viewtag();
});
});
保存标签.php
if ($_POST['type'] == "remove")
{
$pic_id = $_POST['pic_id'];
$sql = "DELETE FROM image_tag WHERE `pic_id` = $pic_id";
mysql_query($sql);
}
这是查看标签的脚本,viewtag.php:
$sql = "SELECT * FROM image_tag ORDER BY `pic_id`";
$qry = mysql_query($sql);
$rs = mysql_fetch_array($qry);
if ($rs){
do{
echo '<li rel="'.$rs['pic_id'].'"><a>'.$rs['name'].'</a> <a class = "delete">Delete</a></li>';
}while($rs = mysql_fetch_array($qry));
}
这是允许 viewtag.php 进入我的 index.php 的函数:
viewtag();
function viewtag()
{
$.post('viewtag.php', function(data){
$('#taglist ol').html(data);
});
}
那么问题出在哪里,为什么不删除表呢?此外, anchor 标记不起作用(从 viewtag.php 回显的 anchor 标记)。问题是什么? 谢谢。
最佳答案
我能看到的是..你的<a>
标签不起作用,因为标签是动态添加的,因此您需要使用 on
委托(delegate)事件..并注意您的 <a>
有一个类,但你的选择器是 id..使用 .delete
作为选择器
$('#taglist').on('click','a.delete', function(){ //u can use #taglist li a.delete too
pic_id = $(this).parent().attr("rel");
$.post('savetag.php', {"type":"remove", pic_id:pic_id}, function(data){
viewtag();
});
});
您可以通过link如果您想了解有关事件的更多信息
关于php - MySQL 不会在 Ajax 调用中删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14722817/