2013-02-18 56 views
0

嗨,我使用jquery ui sortable排序我的div。我能得到的股利奥德在数据库保存,这是我的代码保存排序oder和填充排序的记录jQuery UI可排序

<div style="margin:0 auto !important;"> 
    <ul id="sortable1" class="connectedSortable"> 
     <li id="one_1" class="ui-state-default"><div>Item 1</div></li> 
     <li id="one_2" class="ui-state-default"><div>Item 2</div></li> 
     <li id="one_3" class="ui-state-default"><div>Item 3</div></li> 
     <li id="one_4" class="ui-state-default"><div>Item 4</div></li> 
     <li id="one_5" class="ui-state-default"><div>Item 5</div></li> 
    </ul> 

    <ul id="sortable2" class="connectedSortable"> 
     <li id="two_1" class="ui-state-highlight"><div>Item 1</div></li> 
     <li id="two_2" class="ui-state-highlight"><div>Item 2</div></li> 
     <li id="two_3" class="ui-state-highlight"><div>Item 3</div></li> 
     <li id="two_4" class="ui-state-highlight"><div>Item 4</div></li> 
     <li id="two_5" class="ui-state-highlight"><div>Item 5</div></li> 
    </ul> 
</div> 



<script type="text/javascript"> 
    jQuery(function() { 

    var sortable1 = 'one_1,one_2,one_3,one_4,one_5'; 
    var sortable2 = 'two_1,two_2,two_3,two_4,two_5'; 

    jQuery("#sortable1, #sortable2").sortable({ 
     update: function(event, ui) { 

      var newOrder = jQuery(this).sortable('toArray').toString(); 
      if(jQuery(this).attr('id')=="sortable1"){ 
       sortable1 = newOrder; 
      } 
      else { 
       sortable2 = newOrder; 
      } 

      console.log(sortable1); 
      console.log(sortable2); 
     } 

    }).disableSelection(); 
    }); 
    </script> 

我能正确排序的div为了保存到数据库,但我不知道如何来填充div的再次正确的顺序。请帮帮我 。提前致谢 。

+0

您需要提供填充div的php代码。 – 2013-02-18 06:00:54

+0

你如何在数据库中保存排序顺序? – domino 2013-02-18 06:04:26

+0

作为逗号分隔的字符串vaue - > 1,2,3,4,5 – 2013-02-18 06:13:30

回答

1

而不是将排序顺序保存为数据库作为逗号分隔值1,2,3,4,5,为什么不保存'排序列'例如#sortable1这样当你加载div时,你只需将这个值传递给你的js逻辑。

例子:

如果保存排序列名说#sortable1#sortableN在DB那么你最终

var newOrder = jQuery(this).sortable('toArray').toString(); 
    if(jQuery(this).attr('id')== "<% $your_php_variable %>"){ 
     sortable1 = newOrder; 
    } 
    else { 
     sortable2 = newOrder; 
    } 

我不知道你是如何传递的PHP变量是这样的UI我已经把它当作<% $your_php_variable %>。在您的php代码中的某个时刻,您将设置$your_php_variable = '#sortableX';