时间:2010-07-26 15:27:44

标签: jquery jquery-ui-sortable

2 个答案:

答案 0 :(得分:1)

实际上,我没有和你一样的名单,我在里面看到你可以有ul和li!

> <li class="n-2">Academic
>                 <ul>
>                     <li class="n-5">Staff</li>
>                     <li class="n-6">Courses</li>
>                 </ul> 
> </li>

我只有:

 <ul id="sortable" class="connectedSortable">
    <li id='1' class="ui-state-default"><span> stuff ...</span></li>
    <li id='3' class="ui-state-default"><span> stuff ...</span></li>
    <ul id="sortable" class="connectedSortable">
         <li id='1' class="ui-state-default"><span> stuff ...</span></li>
         <ul id="sortable" class="connectedSortable">     
                <li id='4' class="ui-state-default"><span> stuff ...</span></li>   
         </ul>
    </ul>
    <li id='2' class="ui-state-default"><span> stuff ...</span></li>  
</ul> 

在我的jquery函数中我已经开始了这个:

start: function(event,ui)
      {
     $(this).find('li').next().not('ul').after('<ul id="sortable" class="connectedSortable"><li class="hiddenli" style="height:0.1em;"></li></ul>');        
    $(this).sortable('refresh');
       }

所以我管理你的版本以使用我的列表^^,但是我得到了一个可放置的区域,在我当前的元素之后拖动,所以我可以把我的李作为孩子,但因为父母是我的元素拖动,我不想删除

  • 创建我的元素后拖动并触发启动事件!

    对于排序的更新我试过并且使用序列化失败了不知道如何得到问题,它是孩子并正确订购我不知道我的

  • 在哪里drop(它有哪个父级,如果它在列表中有其他li的位置,因为你可以在屏幕截图中看到,我得到了每个项目的编号(1-2-3-4),最后一个代表列表中有父ID = 3的顺序,你看,我已经尝试了几天:(

  • 答案 1 :(得分:0)

    如果有人有兴趣,我已经完成了一项工作....

    而不是我使用的开始和结束的过期和结束选项。

    start: function(event,ui)
           {
               $(this).find('li').not(':has(ul)').append('<ul><li></li></ul>');
               $(this).sortable('refresh');
           } ,
    stop:  function(event,ui)
           {
               $(this).find('li:empty').remove();
               $(this).find('ul:empty').remove();
               $(this).sortable('refresh')
           }
    

    如果有人有更好的解决方案,请告诉我们......