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

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);
          });
    }

では、何が問題なのですか、なぜテーブルを削除しないのですか?また、アンカータグが機能していません(viewtag.phpからエコーされたアンカータグ)。何が問題ですか?ありがとう。

4

2 に答える 2

1

私が見ることができるのは..タグが動的に追加されるためタグが機能していないため、デリゲートイベント<a>を使用する必要があります..クラスはあるがセレクターはidです..セレクターとして使用するon<a>.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 に答える