jQuery可分类为分隔部分

时间:2010-03-15 12:49:59

标签: jquery html jquery-ui-sortable

我有主要类别和子类别。 我希望能够在显示如下时对子类别进行排序:

Main Cat1  
  sub cat11            [handle]
  sub cat12            [<>]
  sub cat13            [<>]
Main Cat2
  sub cat21            [<>]
  sub cat22            [<>]
  sub cat23            [<>]

这是HTML格式

<ul id="order-list-1" class="c_order_list"> 
                    <li id="listItem-2" style=" margin-top:10px;">Sculpture<div style="float:right" align="right"><img src="images/add.png" style="vertical-align:middle; margin-bottom:2px;" onclick="showSubcategoryAddBox(2)"></div></li> 
                                        <li id="subcat-4" style="padding-left: 25px; width: 555px;">subcat1 Of maincat2<div style="float: right;" align="right"><img src="images/handle.png" alt="move" width="18" height="18" class="handle" /></div></li> 
                                        <li id="subcat-5" style="padding-left: 25px; width: 555px;">subcat2 Of maincat2<div style="float: right;" align="right"><img src="images/handle.png" alt="move" width="18" height="18" class="handle" /></div></li> 
</ul> 
<ul id="order-list-2" class="c_order_list"> 
                    <li id="listItem-1" style=" margin-top:10px;">Mantel Clocks<div style="float:right" align="right"><img src="images/add.png" style="vertical-align:middle; margin-bottom:2px;" onclick="showSubcategoryAddBox(1)"></div></li> 
                                        <li id="subcat-1" style="padding-left: 25px; width: 555px;">subcat1 Mantel Clocks<div style="float: right;" align="right"><img src="images/handle.png" alt="move" width="18" height="18" class="handle" /></div></li> 
                                        <li id="subcat-2" style="padding-left: 25px; width: 555px;">subcat2 Mantel Clocks<div style="float: right;" align="right"><img src="images/handle.png" alt="move" width="18" height="18" class="handle" /></div></li> 
                                        <li id="subcat-3" style="padding-left: 25px; width: 555px;">subcat3 Mantel Clocks<div style="float: right;" align="right"><img src="images/handle.png" alt="move" width="18" height="18" class="handle" /></div></li> 
</ul> 

我只能做一个部分,例如:排序主猫

$(document).ready(function() {
    var order = null;
    $("#order-list").load(location.href+" #order-list>*","");   
    $("#order-list").sortable({
      handle : '.handle',
      update : function (e, ui) {
             order = $(this).sortable('serialize');
         $("#info").load("process-sortable.php?"+order);
    }
    });

但无法弄清楚我如何能够在他们的部分中对子类别进行排序?

1 个答案:

答案 0 :(得分:2)

您的HTML中有一个需要修复的位置,您的子类别需要自己的

标记。您的HTML应遵循以下类似的内容:

<ul id="main-cats">
 <li><span class="main-cat-handle">Main Cat 1</span>
  <ul id="main-cat-1">
   <li id="sub-cat-1"><span class="sub-cat-handle">Sub Cat 1</span></li>
   <li id="sub-cat-2"><span class="sub-cat-handle">Sub Cat 2</span></li>
   <li id="sub-cat-3"><span class="sub-cat-handle">Sub Cat 3</span></li>
  </ul>
 </li>
</ul>

现在您应该能够使用指定的句柄在#main-cats#main-cat-X上调用sortable,这应该允许您按照自己的方式进行排序。