只有当用户点击我的“;是”;我自己对话的链接

Delete an image only when user clicks in my "yes" link of my own dialog

本文关键字:我自己 对话 链接 用户 我的      更新时间:2023-09-26

我有一个画廊,里面有一些图片,每个图片中都有一个链接可以删除:

<div class="galery"> 
  echo '<ul>';
  while ($result = $read->fetch(PDO::FETCH_ASSOC)){
    echo '<li id="'.$result['id'].'">';
    echo '<img src="'.$result['img'].'" />';
    echo '<a href="#" id="'.$resul['id'].'" class="galerydel">Delete</a>';
    echo '</li>';
      }
  echo '</ul>';
</div>

然后我有一个jQuery脚本来使用ajax删除我的图像:我得到了每个图像的id,然后我有了我的ajax$。post:

var url = 'deleteImages.php';
$('.galery ul').on('click','.galerydel',function(){
 var delid = $(this).attr('id');
 $.post(url,{action:'del_images',image:delid},function(){
 });
 return false;
});

然后我有了我的php.file,在那里我得到了我的图像id $imageId = $_POST['image'];和操作$_POST['action'];然后我在我的图库表中进行删除,其中id为=$imageId

这很好,但现在我想有一个对话框消息,询问用户是否确定要删除图像,所以我有一个类似这样的对话框的div:

<div class="delete_dialog">
    <div class="delete">
        <p>Do you really want to delete this image?</p>
        <a href="#">Yes</a>
        <a href="#">No</a>
    </div>
</div>

然后,当我点击链接删除每个图像时,我想显示这个div:

var url = 'deleteImages.php';
$('.galery ul').on('click','.galerydel',function(){
 var delid = $(this).attr('id');
 $('.delete_dialog').fadeIn("slow",function(){
        ('.delete').fadeIn("slow");
 });
 $.post(url,{action:'del_images',image:delid},function(){
 });
 return false;
}); ´

现在,当我点击我的删除链接时,我打开了我的对话框,但我也删除了我的新闻,没有回答我的对话框。

你知道我如何使用我的对话框吗?如果我点击"是",我会删除,但如果点击"否",我只会关闭对话框?

我已经读了几个小时了,我刚刚看到了使用jQuery对话框的例子,它很容易,因为我们可以使用按钮(是和否(。

我也看到了if(confirm(Do you really want to delete this image?){my ajax here}的例子,它也很容易做到

但我试着用我自己的对话,就像这样,我真的不知道我们该怎么做。

你能帮我一下吗??

我在尝试什么:

var url = 'deleteImages.php';
$('.galery ul').on('click','.galerydel',function(){
 var delid = $(this).attr('id');
 $('.delete_dialog').fadeIn("slow",function(){
        ('.delete').fadeIn("slow");
 });
 $("a#delete").click(function(){
    $('.galerry ul li[id="'+ delid +'"]').css('background','red');
 $.post(url,{action:'del_images',image:delid},function(){
    window.setTimeout(function(){
        $('.galery ul li[id="'+ delid +'"]').fadeOut("slow");
    },500);
    $('.delete').fadeOut("fast",function(){
        $('.delete_dialog').fadeOut("fast"); 
    });
 });
 $("a#toggleDialog").click(function(){
   $('.delete').fadeOut("fast",function(){
        $('.delete_dialog').fadeOut("fast"); 
    });
});
});
  1. 添加一些标识符到你的"是/否"链接(ID,属性或其他(:

    <div class="delete_dialog"> <div class="delete"> <p>Do you really want to delete this image?</p> <a href="#" id="delete">Yes</a> <a href="#" id="toggleDialog">No</a> </div> </div>

  2. 将处理程序添加到链接,如:

    $("a#delete").click(function(){ //your post method }); $("a#toggleDialog").click(function(){ //hide dialog });

  3. 将打开的对话框处理程序更改为仅显示对话框:

    $('.galery ul').on('click','.galerydel',function(){ var delid = $(this).attr('id'); $('.delete_dialog').fadeIn("slow",function(){ ('.delete').fadeIn("slow"); }); });

第页。S.还应该将delid变量传递给"Yes"处理程序。