【问题标题】:dynamically setting sort in an unordered list在无序列表中动态设置排序
【发布时间】: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 好的。明白了。
  • 标签: jquery sorting jquery-ui


    【解决方案1】:

    使用items 选项。

    $("#ulFeatures").sortable({
        items: "> li.unlocked",
        ...
    });
    

    然后将class="unlocked"放在有locked = 0的项目上。

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签