JQuery 可排序列表和固定/锁定项目

2024-02-23

是否可以锁定 JQuery 可排序列表中的列表项,使这些项保留在列表中的特定位置。

例如,

考虑这个带有锁定项目的伪列表......

item A
item B(locked)
item C(locked)
item D
item E
item F
item G(locked)

因此,我希望以某种方式修复项目 B、C 和 G,如果用户将项目 D 拖放到列表的开头,项目 A 将“跳转”到固定/锁定的项目 B 和 C 上结果如下...

item D
item B(locked)
item C(locked)
item A
item E
item F
item G(locked)

我一直在寻找类似的东西但没有运气。是否可以..?


这是一个希望没有错误的版本,随着您的拖动而更新。当排序开始时,它会生成项目的当前所需位置,这意味着您应该能够在需要时更改类,刷新小部件的列表项目,然后就可以开始了。

它还使用可排序的内置items属性以防止拖动固定项目并解决列表顶部和底部的任何排序问题。

我尝试移动固定项目,但这导致了可怕的错误行为,特别是当组中有多个固定项目时。最终的解决方案从列表中分离所有固定项目,在前面添加一个辅助元素,然后将固定元素重新插入到所需的位置,这似乎修复了所有错误。

尝试这里的演示:http://jsfiddle.net/PQrqS/1/ http://jsfiddle.net/PQrqS/1/

HTML:

<ul id="sortable">
    <li>oranges</li>
    <li class="static">apples</li>
    <li>bananas</li>
    <li>pineapples</li>
    <li>grapes</li>
    <li class="static">pears</li>
    <li>mango</li>
</ul>

CSS:

.static { color:red; }

li { background-color:whitesmoke; border:1px solid silver; width:100px; padding:2px; margin:2px; }

JavaScript:

$('#sortable').sortable({
    items: ':not(.static)',
    start: function(){
        $('.static', this).each(function(){
            var $this = $(this);
            $this.data('pos', $this.index());
        });
    },
    change: function(){
        $sortable = $(this);
        $statics = $('.static', this).detach();
        $helper = $('<li></li>').prependTo(this);
        $statics.each(function(){
            var $this = $(this);
            var target = $this.data('pos');

            $this.insertAfter($('li', $sortable).eq(target));
        });
        $helper.remove();
    }
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JQuery 可排序列表和固定/锁定项目 的相关文章

  • 如果未选中复选框,jquery 清除输入字段

    我有以下 jquery 如果选中复选框 用户可以填写表单中的其他字段 我想要的是如果未选中该复选框 则清除附加输入字段值 document ready function input checkbox attr checked false x
  • 触摸滚动 Jquery 插件 - 如何为多个实例使用不同选项进行初始化?

    正如这里所发现的 https github com neave touch scroll https github com neave touch scroll function Define default scroll settings
  • jQuery .append 不起作用

    我想在我的表单中插入一些东西 这些东西被硬编码到插件中 我不想弄乱插件文件 所以我发现 append 我写过类似的东西 据我所知它应该有效 Chrome 中的控制台没有显示任何错误 这是有什么问题吗 由于 wordpress 安全模式 我正
  • 使用 parsley.js 支持每个字段多个自定义错误消息

    我正在尝试使用 parsley js 验证一个简单的表单 并且我对 parsley js 非常初学者 我想使用 window ParsleyValidator addValidator 方法在一个自定义验证方法中显示多个错误消息 所以我尝试
  • 如何在 jquery 中使 ajax 数据键动态化?

    我试图使内联编辑成为动态的 因此它只依赖于我的标记中的一些数据属性 所以现在的代码如下 inline edit editable function value settings var editableField this ajax typ
  • 使用 jQuery 检查输入是否为空

    我有一个表单 我希望填写所有字段 如果单击某个字段然后未填写 我想显示红色背景 这是我的代码 apply form input blur function if input text is empty this parents p addC
  • 如何在每个组件完成加载后在 Angular 2 中运行 jquery 函数

    我已经尝试了所有生命周期挂钩 但无法实现所需的结果 我需要的结果是触发一个函数 该函数在加载每个元素 组件 后初始化用于单个页面上不同元素的许多 jquery 插件 假设你有这个结构 主页 滑块 小部件 产品旋转器 ETC 这些元素中的每一
  • 有没有好的 JQuery twitter 小部件可以循环推文?

    我想知道是否有任何 JQuery 小部件提供了循环加载推文的功能 例如在官方小部件中http twitter com about resources widgets widget profile http twitter com about
  • 如何设置在浏览器的新选项卡(_blank)中打开的pdf文件的标题

    这是我的尝试 是否在新选项卡上打开 但它总是显示test pdf如题 function titlepath path name alert path alert name document title name window open pa
  • 限制 jQuery id 字符串吗?

    简而言之 我的问题是字符串在 jQuery 中作为可搜索 id 或可搜索内容有什么限制 更新 我得到了 ID 部分 但不是为什么我什至无法使用该字符串搜索 html 内容 对于任何愿意告诉我一个正则表达式来将模式从 MM dd yy HH
  • 一个接一个地淡入div

    大家好 我很擅长 HTML 和 CSS 但才刚刚开始接触 jQuery 的皮毛 我希望让 3 个 div 在页面加载时逐渐淡入 到目前为止我有这个 我听说使用 css 将显示设置为 none 对于任何使用非 JavaScript 浏览器的人
  • Jquery 两个字段的时间差(以小时为单位)

    我的表单中有两个字段 用户可以在其中选择输入时间 start time end time 我想在更改这些字段时重新计算另一个字段的值 我想做的是获取两次之间的小时数 例如 如果我的开始时间为 5 30 结束时间为 7 50 我想将结果 2
  • jqGrid刷新本地数据(JSON对象)

    我正在尝试将 jqGrid 与本地数据一起使用 但发现了几个问题 我正在初始化这样的事情 function refreshGrid grid results grid jqGrid data results datatype local c
  • 禁用 Bootstrap 中的选项卡

    我正在尝试禁用引导程序中的选项卡 我一直在研究 但尚未找到解决方案 我已经尝试过这个 可以禁用 Bootstrap 中的选项卡吗 https stackoverflow com questions 9237314 can you disab
  • 如何找到div的第一个直接子元素

    这应该很容易 但我做不到 我有一个 id 为 LeftScrollableDiv 的 div 元素 我试图找到它下面的第一个子元素 LeftScrollableDiv first child div table table div 但结果为
  • Jquery 悬停卡

    我在用着http designwithpc com Plugins Hovercard http designwithpc com Plugins Hovercard 但我不知道如何在悬停卡上声明 var 每个工作描述都有自己的 ID 当悬
  • 从 HTTP 登录到 HTTPS

    我的网站默认使用 HTTP 我确实有一个启用 HTTPS 的证书 但只有其上的某些区域强制建立安全连接 登录是通过 Ajax 处理的 我想开始使用 SSL 即使请求来自 HTTP 我尝试强制请求的地址具有 HTTPS 并且它完美地回复 然而
  • 按下回车键时不刷新页面

    我遇到了一些问题 只要表单中有输入 回车键就会触发页面刷新 下面的代码 如果按下回车并且文本区域 input 中没有输入任何文本 则不会刷新页面 但是如果按下回车并且 input中有输入或者光标位于文本区域 我不确定是什么触发了它 因为 s
  • PHP 数组通过 JSON 转为 jquery 数组

    我有点困惑为什么以下不起作用 get php
  • 覆盖 jQuery 验证 MVC4 中的默认设置

    要覆盖查询验证插件 请在文件 http docs jquery com Plugins Validation validate toptions 推荐的方式是 selector validate invalidHandler functio

随机推荐

  • 如何在 Flutter 中将数据从子 Stateful widget 传递到 Parent Widget

    我的 flutter 应用程序中有一个有状态的小部件 DayPicker 相同的代码是 class DayPicker extends StatefulWidget override DayPickerState createState g
  • 分布式 ASP.Net 状态服务

    我想知道是否存在任何分布式 ASP Net State Service 替代方案 Session 可以存储在 InProc StateService 或 SQL 中 您还可以编写自定义存储提供程序 对于负载平衡 没有任何形式的粘性 IP 只
  • json 模式中的对象重用和组合

    我有一个 json blob 看起来像这样 ObjectA Object1 fields Object2 fields Object3 fields ObjectB Object1 fields Object2 fields Object3
  • srand (time (null)) 导致编译器警告:隐式转换丢失整数精度

    如果这个问题已经得到解答 我们深表歉意 include
  • ASP.net Bin目录-dll加载

    我需要在我的 asp net 应用程序中使用 dll 如何加载不是来自 bin 目录的 dll 也许我应该提到该应用程序是 asp 代码和 asp net 代码的混合体 所以 当我在我的机器上开发它时 我在 bin 目录中放置了一个 dll
  • 将 JSX 转换为 JSON 或 String,然后再转换回来

    我想将 React 组件的状态保存在数据库中 Json stringify myComponent 但是 当我尝试通过 JSON parse 再次使用该组件时 我得到了 Error Objects are not valid as a Re
  • 如何更改 Mac 上的 JAR 图标?

    我的 Mac 上有一个名为 Test jar 的 JAR 文件 当我单击它时 该文件运行得非常好 它所做的只是打开一个小窗口 并显示 Test 所以它是一个简单的应用程序 我是 Java 编程新手 我的问题是如何将 jar 文件的图标更改为
  • C# 二进制常量表示

    我真的被这个难住了 在C 中 有如下的十六进制常量表示格式 int a 0xAF2323F5 有二进制常量表示格式吗 不 C 中没有二进制文字 您当然可以使用 Convert ToInt32 解析二进制格式的字符串 但我认为这不是一个很好的
  • 如何在 Python 中将*所有*字符转义为相应的 html 实体名称和数字?

    我想将字符串编码为其相应的 html 实体 但不幸的是我无法做到 正如我在问题标题中所说 我想要all字符串中的字符将被转换为相应的 html 实体 数字和名称 所以根据文档 https docs python org 3 library
  • 如何在 firestore 文档 ID 的位置添加用户 UID

    我正在尝试获取用户 UID 来代替 Firebase Firestore 中自动生成的文档 ID 但由于此错误而无法获取它 类型错误 firebase auth currentUser 为 null 这是我的 index js 文件 Fir
  • Python请求访问OAUTH网站内容 - SNL财经

    我一直在用头撞墙 试图从新闻来源 SNL 财经 检索内容 我拥有有效的凭据 因此理论上我应该能够以编程方式访问他们的新闻内容 简而言之 我尝试执行以下脚本但没有成功 s requests Session client id client s
  • 谷歌地图 API v3 的服务器端集群

    我目前正在开发一种谷歌地图概述小部件 它将位置显示为地图上的标记 标记的数量从数百个到数千个 10000 个以上 不等 现在我正在使用谷歌地图的 MarkerClusterer v3 1 0和谷歌地图 javascript api v3 高
  • 如何给JTextField添加背景图片?

    我知道如何向 JPanel 添加背景图像 创建扩展 JPanel 的 ImagePanel 类并重载它的 PaintComponent 方法 但是 JTextField 的这个技巧无法正常工作 显示图像 但不显示文本 那么 如何正确地向 J
  • Multiprocessing.pool 具有多个 args 和 kwargs 的函数

    我想使用 mutliprocessing pool 方法并行计算 问题是我想在计算中使用的函数提供了两个参数和可选的 kwargs 第一个参数是数据帧 第二个参数是 str 任何 kwargs 是字典 对于我尝试执行的所有计算 我想要使用的
  • 如何在 swift 中导入 JSQMessagesViewController?

    我正在使用 xcode 6 3 swift 1 2 并使用 cocoapods 安装 JSQMessagesViewController 库 这是我的 pod 文件 pod JSQMessagesViewController 和我的桥接文件
  • HttpListener:请求的地址在此上下文中无效

    当创建一个HttpListener对象使用 var server new HttpListener server Prefixes Add http 8080 server Start 一切正常 但是 当我使用 var server new
  • 对齐 2 个矩阵以实现最大重叠

    那么下面是一道面试题 Given two N2 matrices with entries being 0 or 1 How can we find out the number of maximum overlapping 1 s pos
  • 用户因“记住我”而注销

    我似乎无法理解 Identity 2 0 和 cookies 的工作方式 ASP NET MVC 5 我想要的是 如果用户登录并选中 记住我 复选框 我不希望他永远退出 但是发生的情况是 用户在一定时间跨度后退出 如果用户在时间跨度之前关闭
  • 致命错误:未捕获的 CurlException:26:创建表单数据失败抛出

    我收到以下错误 Fatal error Uncaught CurlException 26 failed creating formpost data thrown in home u801961841 public html inc li
  • JQuery 可排序列表和固定/锁定项目

    是否可以锁定 JQuery 可排序列表中的列表项 使这些项保留在列表中的特定位置 例如 考虑这个带有锁定项目的伪列表 item A item B locked item C locked item D item E item F item