2013-10-10 35 views
0

我正在使用JqueryUI对树中的嵌套集olli进行排序。我还在每个叶节点上放置了空的ol元素,以便可以将子元素添加到叶节点。在保持排序的同时更改JqueryUI中可排序元素的类

目前空的占位符显示所有的时间和工作正常。不过,我想隐藏它们,直到我开始对ulli元素进行排序。
通过使用Jquery,我可以根据需要更改空元素的css类以显示和隐藏它们(添加或删除边框和高度)。我已将这些连接线连接到中的startstop事件,此显示/隐藏也适用。

但是,占位符不再作为接受其他可排序元素的区域工作。

我该如何解决这个问题,以便占位符在他们的类更改之后仍然可以作为有效的可投放区域工作。

N.B我确实保留了ui-sortable类别的占位符元素。

谢谢。

代码:

$(".sitemapList").sortable(
{ 
    placeholder: "ui-state-highlight1", 
    distance: 5, 
    connectWith: ".sitemapList", 
    start: function (event, ui) 
    {   
     var change = $(".dontShow"); 
     var length = change.length; 
     for (var i = 0; i < length; i++) 
     { 
      $(change[i]).attr("class", "sitemapList show ui-sortable"); 
     } 
    }, 
    stop: function (event, ui) 
    { 
     var change = $(".show"); 
     var length = change.length; 
     for (var i = 0; i < length; i++) 
     { 
      $(change[i]).attr("class", "sitemapList dontShow ui-sortable"); 
     } 
    } 
}); 

CSS:

.siteMap ol.show 
    { 
     min-height:28px; 
     width:15%; 
     /*background-color:#f7eac9;*/ 
     border:dotted 1px; 
    } 

    .siteMap ol.dontShow 
    { 
    } 
+1

这将是更容易,如果你可以张贴一些代码 –

回答

0
+0

我已经有嵌套排序能够名单。然而,当我改变其中一个元素的CSS类来影响它的大小和边界时,它会停止排序。 – Slouch

+0

确保在添加此类之后,您的可排序事件也已初始化。也许这会有所帮助 –