2016-03-28 5 views
1

Я пытаюсь удалить окно изображения с помощью ajax, мой class="box" не исчезает, когда я нажимаю delete, но мое изображение было удалено из базы данных и отсоединено от папки, может ли кто-нибудь увидеть, если что-то не так с мой код, спасибо заранее!Функция успеха не работает

Мой код:

<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 work –

+1

typo 'var box = .closest (". box ");' – roullie

+0

что не работает? – madalinivascu

Смежные вопросы