0

我有一个嵌套的可排序列表:

<ul class="testSortable">
    <li class="ui-state-default" rel="1">What Can I Say?
        <ul class="testSortable" rel="1">
           <li class="ui-state-default" rel="4">Total Divisions
             <ul class="testSortable" rel="4"></ul>
           </li>
        </ul>
    </li>
</ul>   

我正在尝试使 UI Sort 可以在整个列表中拖放,问题在于它不能拖放到子元素并导致整个节点消失。

我目前的代码是:

$('.testSortable').sortable({ 
axis:        'y',
cursor:      'move',
connectWith: '.testSortable',
placeholder: 'ui-state-highlight',          
start: function(evt, ui){
    $(ui.item).children(".testSortable").sortable('disable');
},
stop: function(evt, ui){
    $(ui.item).children(".testSortable").sortable('enable');
}
});

这似乎使子元素上的类显示为已禁用,但实际上并没有禁用任何东西,因此占位符是不透明的,但您仍然可以放到子元素上。

有什么建议么?

4

1 回答 1

0

在寻找一种实际禁用节点但没有成功的方法后,我想出了一个解决方法。

start: function(evt, ui){
   $(".testSortable", ui.item).hide();              
},
stop: function(evt, ui){
   $(".testSortable", ui.item).show();              
}

主要只是隐藏子节点,直到排序选项移动到其最终位置。

于 2009-08-26T17:15:15.443 回答