只有当我的图像列表中有多个图像时才显示我的链接“删除”

只有当我的图像列表中有多个图像时才显示我的链接“删除”

问题描述:

我使用jQuery和Ajax删除横幅图像。只有当我的图像列表中有多个图像时才显示我的链接“删除”

但是,如果我只有一个图像,我不想删除它。

我有图像的列表,并为每个图像我有此链接:

echo '<a class="delete j_bannerdelete" id="'.$rslt_banner['id'].'" href="#">Delete</a> '; 

我想讲讲tihs,只是显示“删除”链接,如果我的行数超过1。

if($read_ban->rowCOunt() >1{ 
    echo '<a class="delete j_bannerdelete" id="'.$rslt_banner['id'].'" href="#">Delete</a> '; 
} 

但是像这样,例如,如果我有2个图像,我删除一个,并作为即时通讯与阿贾克斯删除,我的网页不刷新,所以我有我的最后一个影像与我的“删除”链接,所以我可以删除它。

你知道一个简单的方法来解决这个问题吗?

我删除代码:

$(function(){ 
    var banner_id = null; 
    $("a#no").click(function(event){ 
     event.preventDefault(); 
     $('.confirm').fadeOut("slow",function(){ 
      $('.delete_dialog').fadeOut("slow"); 
     }); 
     $('.bannerli li[id="'+ banner_id +'"]').css('background','#f5f5f5'); 
     banner_id = null; 
    }); 
    $("a#delete").click(function(event){ 
     event.preventDefault(); 
     if (!banner_id) return; 
     $.post(url,{action:'ban',id: banner_id},function(){ 
      window.setTimeout(function(){ 
       $('.bannerli li[id="'+ banner_id +'"]').fadeOut("slow"); 
      },500); 
      $('.confirm').fadeOut("fast",function(){ 
       $('.delete_dialog').fadeOut("fast"); 
      }); 
     }); 
    }); 
    $('.bannerli').on('click','.j_bannerdelete',function(){ 
     banner_id = $(this).attr('id'); 
     $('.bannerli li[id="'+ banner_id +'"]').css('background','red'); 
     $('.delete_dialog p').text('Are you sure you want to remove this banner?'); 
     $('.delete_dialog').fadeIn("slow",function(){ 
      $('.confirm').fadeIn("slow"); 
     }); 
     return false; 
    }) 
}); 

我创建了一个简化的解决方案在这里删除功能:http://jsfiddle.net/wgjrnw7m/1/。 它应该给你一个如何去做的想法。

基本上要算你有多少条目:

if($('.bannerli').length <= 1) { /* Hide delete */ }

而要做到这一点,每次检查的项目被删除。如果还可以添加项目,则还需要检查是否有多个项目,并且在这种情况下再次显示所有删除按钮。

+0

感谢您的解决方案。但我更简单地使用它,它似乎是正常工作。我在我的文档reay这个调用disableDeleteIfOnlyOneItem(1);当我删除我的图像后,我有这个调用disableDeleteIfOnlyOneItem(2);我只是使用你的函数:function disableDeleteIfOnlyOneItem($ value)if($('。bannerli li')。length'= $ value){('。j_bannerdelete')。hide(); } }看起来一切正常!谢谢! – OzzC 2014-08-29 20:56:55

计数许多横幅如何仍然在页面上用jQuery选择。不是只显示,如果

if ($('.j_bannerdelete').length > 1) { 
... 
+0

ups。谢谢@MelanciaUK – Votto 2014-08-29 20:11:40

+0

感谢您的回答。你的解决方案也有效! – OzzC 2014-08-29 23:38:32