Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ajax刷新后Jquery sortable不工作_Javascript_Jquery_Ajax_Jquery Ui Sortable - Fatal编程技术网

Javascript ajax刷新后Jquery sortable不工作

Javascript ajax刷新后Jquery sortable不工作,javascript,jquery,ajax,jquery-ui-sortable,Javascript,Jquery,Ajax,Jquery Ui Sortable,我有一个表格,里面装满了数据库中的数据。此表是可排序的,并使用ajax保存订单。现在我可以选择删除选中的行。删除行后,将使用ajax刷新表 我现在唯一的问题是,当我删除一行并刷新我的表时,该表将无法再排序(直到我刷新) 有办法解决这个问题吗 这是我的jquery/ajax代码: $(document).ready(function () { $('#sortable').sortable({ axis: 'y', updat

我有一个表格,里面装满了数据库中的数据。此表是可排序的,并使用ajax保存订单。现在我可以选择删除选中的行。删除行后,将使用ajax刷新表

我现在唯一的问题是,当我删除一行并刷新我的表时,该表将无法再排序(直到我刷新)

有办法解决这个问题吗

这是我的jquery/ajax代码:

    $(document).ready(function () {
        $('#sortable').sortable({
            axis: 'y',
            update: function (event, ui) {
                var data = $(this).sortable('serialize');

                $.ajax({
                    data: data,
                    type: 'POST',
                    url: 'includes/saveorder.php'
                });
            }
        });
    });

    function deleteFromDatabase(id) {
        if (confirm("Weet u zeker dat u deze pagina wilt verwijderen?")) {
            $.ajax({
                url: "includes/paginas_del.php",
                type: "POST",
                data:'id='+id,
                success: function(data){
                    document.getElementById("alert").style.display = "block";
                    $("#myTable").load("paginas.php #myTable");
                }
            });
        } else {
            document.getElementById("alert").style.display = "none";
        }
    }
这是我的桌子:

<table class="table table-hover table-cust" id="myTable">
          <thead>
            <tr>
                <th scope="col" width="80%">Pagina</th>
                <th width="10%"></th>
                <th width="10%"></th>
            </tr>
          </thead>
          <tbody id="sortable">
            <?php $result = mysql_query("SELECT * FROM pagina WHERE active = '1' ORDER BY sort");
                while ($data = mysql_fetch_assoc($result)) { ?>
                    <tr id="item-<?php echo $data['id'] ?>">
                        <td><a href="paginas_edit.php?pagina_id=<?php print $data['id']; ?>"><?php echo $data['titel'] ?></a></td>
                        <td><a href="paginas_edit.php?pagina_id=<?php print $data['id']; ?>"><i class="fas fa-edit"></i></a></td>
                        <td><a href="javascript:deleteFromDatabase(<?php print $data['id']; ?>)"><i class="fas fa-trash-alt"></i></a></td>
                    </tr>
            <?php } ?>
          </tbody>
        </table>

帕吉纳

这个问题是由以下事实引起的:调用jquery的
load
方法的作用是“从服务器加载数据并将返回的HTML放入匹配的元素”

这意味着整个表将替换为新表。因此,旧的
元素被替换为新元素,而新元素没有附加到旧元素的
可排序的
行为

重建表后,请尝试重新运行
sortable
方法:

function deleteFromDatabase(id) {
    if (confirm("Weet u zeker dat u deze pagina wilt verwijderen?")) {
        $.ajax({
            url: "includes/paginas_del.php",
            type: "POST",
            data:'id='+id,
            success: function(data){
                document.getElementById("alert").style.display = "block";
                $("#myTable").load("paginas.php #myTable");

                $('#sortable').sortable({
                    axis: 'y',
                    update: function (event, ui) {
                        var data = $(this).sortable('serialize');

                        $.ajax({
                            data: data,
                            type: 'POST',
                            url: 'includes/saveorder.php'
                        });
                    }
                });
            }
        });
    } else {
        document.getElementById("alert").style.display = "none";
    }
}

您还可以提供HTML吗?使用
$(“#sortable”).sortable('refresh')-@Shai添加了表格。很遗憾,这不起作用。还尝试将整个
$('#sortable').sortable
作为一个函数,并在那里调用该函数。但是这也不起作用。
paginas.php#myTable
返回的代码是什么?