Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.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 获取jquery可排序项的顺序并为其设置顺序_Javascript_Jquery - Fatal编程技术网

Javascript 获取jquery可排序项的顺序并为其设置顺序

Javascript 获取jquery可排序项的顺序并为其设置顺序,javascript,jquery,Javascript,Jquery,我对无序列表(ul)使用jquery Dragble函数,遇到一个问题,即在更改后获取项目的顺序,并设置加载页面的顺序。假设我们有以下代码: <html> <head> <script src="http://code.jquery.com/jquery-latest.js"></script> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/

我对无序列表(ul)使用jquery Dragble函数,遇到一个问题,即在更改后获取项目的顺序,并设置加载页面的顺序。假设我们有以下代码:

<html>
   <head>
     <script src="http://code.jquery.com/jquery-latest.js"></script>
     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js>  </script>
     <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
   <script>
      $(document).ready(function(){

            $(".block").sortable({
            axis: 'y',
            update: function(event, ui) {// order changed
               var order = jQuery(this).sortable('toArray');
               // send this order to index.php and store it in db

            }
         });
      });
  </script>

  </head>
  <body>
      <ul class="block" type="none">
           <li id = "one">1</li>
           <li id = "two">2</li>
           <li id = "three">3</li>
           <li id = "four">4</li>
           <li id = "five">5</li>
      </ul>
  </body>


如果您不想在我评论的链接上使用该解决方案,您可以使用这个,更简单:

function reorder(orderArray, elementContainer)
{
    $.each(orderArray, function(key, val){
        elementContainer.append($("#"+val));
    });
}
orderArray:一个数组,按您想要的顺序包含所有ID(可排序(“toArray”)返回的内容)

elementContainer:是包含可排序项的jQuery对象

这里有一个工作示例:

如果您不想在我评论的链接上使用该解决方案,您可以使用这个,更简单:

function reorder(orderArray, elementContainer)
{
    $.each(orderArray, function(key, val){
        elementContainer.append($("#"+val));
    });
}
orderArray:一个数组,按您想要的顺序包含所有ID(可排序(“toArray”)返回的内容)

elementContainer:是包含可排序项的jQuery对象

这里有一个工作示例:

您只需要一种排序方法,对吗?这几乎与你昨天的问题完全相同:。如果您想做一些细微的更改,最好编辑一下。对不起,我认为这个问题不清楚,我只是添加了更复杂的解释…您只需要一种排序方法,对吗?这几乎与你昨天的问题完全相同:。如果您想做一些细微的更改,最好编辑一下。对不起,我认为那个问题不清楚,我只是添加了更复杂的解释。。。