【发布时间】:2025-12-30 20:20:25
【问题描述】:
好的,这就是我现在面临的问题。我有一个动态生成的无序列表。最初编写代码的人将 UL 设置为可通过列表项进行排序(即您可以切换列表中的 #1 和 #2 等)
这段代码看起来像这样:
$("#ulFeatures").sortable({
update: function(event, ui) {
var newOrder = $(this).sortable('toArray').toString();
}
});
然后将新的排序顺序保存到数据库中。
嗯,新的要求是我们应该能够锁定某些位置。
我使用了一个 db 字段的复选框来确定它是否应该被锁定(位,1 = 锁定,0 = 解锁),但我不知道如何锁定个人 那些,基于他们的 ID。
有什么想法吗?如果不编写 bunch 更多的 jQuery,我将如何做到这一点?
【问题讨论】:
-
$('.sortable').sortable('disable');不是有这样的东西来禁用可排序的吗? -
您可以使用
items选项为可排序的项目指定选择器。在那里放置一个类选择器,并且只将类放在未锁定的项目上。 -
@melvin 这将完全禁用排序,而不仅仅是单个项目。
-
我相信是的,如果我有 10 个项目,并且每个
- 都有自己的 ID(比如 id=100、id=101、id=102 等),我只想要禁用 100 和 102 的排序,这就是我遇到的问题。
-
@Barmar 好的。明白了。