0

我的删除按钮:

$('#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);
          });
    }

那么问题是什么,为什么不删除表呢?锚标记也不起作用(从 viewtag.php 回显的锚标记)。问题是什么?谢谢。

4

2 回答 2

1

我能看到的是..您的<a>标签不起作用,因为标签是动态添加的,因此您需要使用on委托事件..并注意您<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();
      });
});

如果您想了解更多关于活动的信息,可以通过链接

于 2013-02-06T06:28:21.750 回答
0

首先,您正在选择 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,所以我对此无能为力

于 2013-02-06T06:27:09.180 回答