我有两个排序表,它们都是直接的UL元素,每个都至少包含LI元素,多达10个,排序方式如下:
$(".sortable").sortable({
    connectWith: ".sortable",
    cancel: '.no-drag',
}).disableSelection();我希望每个UL都有一个最顶层的LI元素,读作'Title‘。我不希望这个LI元素是可拖动的,也不希望它是可排序的;它实际上是UL的头块。sortable()调用中的'cancel‘选项确实禁止用户拖动它,但用户仍然可以上下拖动列表中的其他LI元素,从而移开最上面的LI元素。我想阻止这一切。
本质上:我希望LI项2-N是可排序的,1是固定的。
有什么想法?
发布于 2010-07-13 04:28:12
我不认为你已经提出的解决方案有什么问题,但我想我应该提一下,使用":not“和":first”选择器的组合可以更直接地获得你想要的结果:
$(".sortable").sortable({
    connectWith: ".sortable",
    cancel: '.no-drag',
    items: 'li:not(:first)'
});或者,您可以使用"gt“选择器来指定索引大于0的所有列表项:
$(".sortable").sortable({
    connectWith: ".sortable",
    cancel: '.no-drag',
    items: 'li:gt(0)'
});我相信也有很多其他的方法。
发布于 2010-07-13 04:08:23
好吧,稍加坚持会有所帮助的。只需将可排序调用改为如下所示:
$(".sortable").sortable({
    connectWith: ".sortable",
    cancel: '.no-drag',
    items: '.sortable-item'
});然后给每个我想要排序的LI一个'sortable-item‘类。瞧。
https://stackoverflow.com/questions/3231810
复制相似问题