0

我正在尝试将我的 jquery ui 可排序列表的顺序保存到服务器。当用户单击选项卡时,我正在从外部文件加载我的列表,然后为每个列表项添加一个复选框。代码工作正常,直到我输入添加复选框的行 - 现在它不会在服务器上保存订单。我不知道为什么前置复选框行会破坏它。任何帮助将不胜感激。

Jquery 加载列表并添加复选框:

        window.onload = function() {


        var a = document.getElementById("fvsortid"); // loads slides when user clicks tab and adds checkbox

          a.onclick = function() {
          $("#sortable").load("file.xml");
          $("#sortable").load("file.xml", function(){
          $('<input type="checkbox"/>').prependTo('#sortable li');
          });
}    

        }

Jquery 更新顺序:

$(document).ready(function(){   
    $('#sortable').sortable({
        update: function(event, ui) {
            var newOrder = $('#sortable').html();
            $.get('reorder.php', {order:newOrder});
            alert("New order saved to server");
        }
    });

});

重新排序.php:

   <?php
    $items = $_GET['order'];
    $items = "<body>\n$items\n</body>";
    file_put_contents('file.xml', $items);
    ?>
4

1 回答 1

0

如果将input元素添加到li元素之前,则输入最终将作为 的子元素ul,这是无效的。也许您可以添加到另一个元素,或者将其包装input在一个li元素中?

于 2012-10-16T17:57:45.493 回答