如何在成功函数

时间:2017-08-27 09:51:16

标签: javascript php jquery mysql ajax

我有以下代码: 我的代码正在运行,但是我的ajax的成功功能不起作用我想删除行后显示更新的记录,而不刷新页面。 我已经在StackOverflow上检查了我的答案,但我的问题没有解决,请帮忙。

<html>
<body>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.1/jquery.min.js"></script>

</head>
<table border="1">
    <?php
    mysql_connect('localhost','root','');
mysql_select_db('test');

$sql ="SELECT * FROM test";
$result = mysql_query($sql) or die(mysql_error());

while($row = mysql_fetch_object($result)){

    echo '<tr><td>'.$row->fname.'</td><td>'.$row->lname.'</td>'.'

    <a href="#" id="'.$row->id.'" class="trash" >
   de
    </a>

    '.'</td></tr>';
    }

?>
  </table>

</body>
 <script type="text/javascript"> $(function(){
    $(document).on('click','.trash',function(){
        var del_id= $(this).attr('id');
        var $ele = $(this).parent().parent();
        $.ajax({
            type:'POST',
            url:'del.php',
            data:{'del_id':del_id},
            success: function(data){
                 if(data=="YES"){
                    $ele.fadeOut().remove();
                 }else{
                        alert("can't delete the row")
                 }
                 }
             }

            });
        });
});</script>
</html>

del.php 文件是:

<?php
mysql_connect('localhost','root','');
mysql_select_db('test');
$music_number = $_POST['del_id'];
//echo $music_number;
$qry = "DELETE FROM test WHERE id ='$music_number'";
$result=mysql_query($qry);
if(isset($result)) {
   echo "YES";
} else {
   echo "NO";
}
?>

1 个答案:

答案 0 :(得分:1)

试试这个:

<script type="text/javascript">
$( document ).ready(function() {
    $('.trash').click(function(){
        var tr = $(this).closest('tr');  // **add this
        var del_id = $(this).attr('id');
        $.ajax({
                type: 'POST',
                url: 'del.php',
                data: {
                    'del_id': del_id
                },
                success: function(data) {
                    if (data == "YES") {
                        tr.fadeOut(1000, function(){ // **add this
                            $(this).remove();
                        });
                    } else {
                        alert("can't delete the row")
                    }
                }
            }

        });
    });
});
</script>

closest方法返回所选元素的第一个祖先。 https://api.jquery.com/closest/