繁体   English   中英

MySQL不删除Ajax调用的行

[英]MySQL not deleting a row on Ajax call

我的删除按钮:

$('#taglist li #delete').bind('click', function(){
        pic_id = $(this).parent().attr("rel");
        $.post('savetag.php', {"type":"remove", pic_id:pic_id}, function(data){
            viewtag();
          });
    });

savetag.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委托事件上使用..并注意您的<a>具有一个类,但您的选择器是id .. use .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();
      });
});

如果您想了解有关事件的更多信息,可以通过链接

首先,您要选择ID,但有一个类:

$('#taglist li #delete')。

应该:

$('.delete').bind('click', function(e){
        pic_id = $(this).parent('li').attr("rel");
        $.post('savetag.php', {"type":"remove", pic_id:pic_id}, function(data){
            viewtag();
          });
 e.preventDefault();
});

您的链接由于没有href标签而无法使用,那么浏览器如何知道正确的锚点?

  <?php while($rs = mysql_fetch_array($qry)): ?>
     <li rel="<?php echo $rs['pic_id'];?>"><a href="#<?php echo $rs['name'];?>"><?php echo $rs['name'];?></a> <a class="delete" href="#">Delete</a></li>
  <?php endwhile;?>

另外,我怀疑他的viewtag()函数也存在问题,但是您没有发布相关的html,因此我对此无济于事

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM