2016-03-28 103 views
1

我试图删除图像框与阿贾克斯,我class="box"不消失,当我点击删除,但我的形象已经从数据库中删除,并从文件夹中取消链接,任何人都可以看到,如果有些事情错我的代码,在此先感谢!成功功能不起作用

我的代码:

<ul> 
<?php while ($result = mysql_fetch_array($sql)) { ?> 
    <li class="box"> 
     <div class="image-box"> 
      <div class="items-image" style="background-image: url(upload/<?php echo $result['img_1']; ?>);"></div> 
      <p class="error" style="display: none;">Can't delete</p> 
      <div class="items-footer"> 
       <a class="delete" id="<?php echo $result['img_id']; ?>"><i class="fa fa-trash fa-lg"></i></a> 
      </div> 
     </div> 
    </li> 
<?php } ?> 
</ul> 

$(document).ready(function(){ 
    $(".delete").on('click', function(evt){ 
    var del_id = $(this).attr('id'); 
    var prop_id = "<?php echo $ID; ?>"; 
     $.ajax({ 
      type:'POST', 
      url:'image_delete.php', 
      data: ({delete_id : del_id, product_id: prop_id}), 
      success: function(data) { 
       if(data == '0') { 
        $(".error").show(); 
       } else if(data == '1') { 
        $(this).parents(".box").animate({ backgroundColor: "#003" }, "slow").animate({ opacity: "hide" }, "slow"); 
       } 
      } 
     }); 
    }); 
}); 

image_upload.php

<?php 
include 'connect.php'; 
$path = "upload/"; 
if(isset($_POST['delete_id'])){ 
    $delete_id = $_POST['delete_id']; 
    $product_id = $_POST['product_id']; 

    $check = mysql_query("SELECT COUNT(img_id) as cnt FROM fm_product_image WHERE p_id_img = '$product_id'") or die(mysql_error()); 
    $getcheck = mysql_fetch_array($check); 

    if($getcheck['cnt'] == '1') { 
     echo '0'; 
    } else { 
     $sql = mysql_query("SELECT img_1 FROM fm_product_image WHERE img_id = '$delete_id'") or die(mysql_error()); 
     $result = mysql_fetch_array($sql); 
     $delete = $result['img_1']; 
     $unlink = $path.$delete; 

     if (unlink($unlink)) { 
      mysql_query("DELETE fm_product_image FROM fm_product_image WHERE img_id = '$delete_id'") or die(mysql_error()); 
      echo '1'; 
     } else { 
      echo '0'; 
     } 
    } 
} 
?> 

回答

1

中删除使用:

$(document).ready(function(){ 
    $(".delete").on('click', function(evt){ 
    var del_id = $(this).attr('id'); 
    var prop_id = "<?php echo $ID; ?>"; 
    var box = $(this).closest(".box"); 
     $.ajax({ 
      type:'POST', 
      url:'image_delete.php', 
      data: ({delete_id : del_id, product_id: prop_id}), 
      success: function(data) { 
       if(data == '0') { 
        $(".error").show(); 
       } else if(data == '1') { 
        box.animate({ backgroundColor: "#003" }, "slow").animate({ opacity: 0 }, "slow"); 
        box.remove(); 
       } 
      } 
     }); 
    }); 
}); 

注:$(this)指Ajax对象和不透明度为1的值0

+0

还是做esn't工作 –

+1

错字'VAR盒= .closest( “箱子”);' – roullie

+0

exacly什么不起作用? – madalinivascu