您好,欢迎访问宜昌市隼壹珍商贸有限公司
本文介绍如何为基于 jquery ui sortable 的图片拖拽排序网格添加“删除指定图片”功能,通过为每张图片添加删除按钮,点击后移除对应项并自动更新隐藏输入框中的排序序列。
要在现有可拖拽排序的图片网格中支持按需删除特定图片,关键在于:
以下是完整、健壮的实现方案:
在每个
@@##@@ ✕
? 提示:按钮样式可自定义(如 btn-danger + ✕ 符号),确保视觉上清晰可识别。
避免重复绑定事件,推荐将 Sortable 初始化封装为函数,并在删除后主动重建实例(sortable('destroy') + 重新 .sortable({...})),以确保事件监听器与最新 DOM 保持一致:
$(function() { // 更新隐藏输入框:获取当前所有 .listitemClass 的 ID(去除前缀 "im") const updateOrderInput = () => { const values = $('.listitemClass').map(function() { return this.id.replace('im', ''); }).get(); $('#outputvalues').val(values.join(',')); // 用逗号分隔更利于后端解析(也可用 JSON.stringify) }; // 初始化 Sortable(含 update 回调) const initSortable = () => { $('#imageListId').sortable({ update: updateOrderInput, placeholder: 'ui-sortable-placeholder', // 可选:添加拖拽占位样式 tolerance: 'pointer' }); updateOrderInput(); // 初始加载时同步一次 }; // 删除按钮点击处理(委托绑定,兼容动态增删) $(document).on('click', '.delete', function() { $(this).closest('.listitemClass').remove(); // 销毁旧实例并重新初始化(确保事件与 DOM 同步) $('#imageListId').sortable('destroy'); initSortable(); }); // 首次初始化 initSortable(); });
为提升用户体验,可添加拖拽占位样式和响应式断点:
.ui-sortable-placeholder { border: 2px dashed #006400; background-color: #f9f9f9; visibility: visible !important; height: 200px; } /* 移动端适配:小屏下每行显示 2 张 */ @media (max-width: 768px) { .listitemClass { width: 48%; } }
通过以上改造,用户即可自由拖拽排序,也能一键删除任意图片——所有操作实时反映在 #outputvalues 输入框中,为后续表单提交提供准确的顺序数据。
# css # javascript # java # jquery # html # js # json # 后端 # 拖拽排序 # 移动端适配 # 点击事件
相关栏目: 【 行业新闻 】 【 网络资讯 】 【 网络推广 】 【 技术学院 】 【 营销学院 】 【 云计算 】 【 AI营销 】 【 百度推广 】
相关推荐: MAC怎么设置程序窗口永远最前_MAC窗口置顶插件安装与快捷设置【方法】 Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】 Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理 Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程 Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区 Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全 win11如何清理传递优化文件 Win11为C盘瘦身删除更新缓存【技巧】 担起净化网络环境责任 IDC行业在发展中成长 Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】 Windows10如何更改鼠标灵敏度_Win10鼠标属性指针选项调节 Laravel观察者模式如何使用_Laravel Model Observer配置 Win11怎么关闭自动更新 Win11永久关闭系统更新的有效方法【技巧】 WindowsUSB驱动安装异常怎么办_USB驱动重建与恢复教程 laravel怎么为路由分组并应用中间件_laravel路由分组与中间件应用方法 Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】 Win11怎样安装钉钉客户端_Win11安装钉钉教程【步骤】 如何开启Windows的远程服务器管理工具(RSAT)?(管理服务器) AJAX 自学练习 请求与显示 Win11如何卸载OneDrive_Win11卸载OneDrive方法【教程】 laravel怎么实现一个支持多租户(multi-tenancy)的架构_laravel多租户架构实现方法 Laravel如何实现密码重置功能_Laravel密码找回与重置流程 Laravel Vite如何正确配置和打包前端资源 Laravel Docker环境搭建教程_Laravel Sail使用指南 Laravel如何实现文件上传和存储?(本地与S3配置) Laravel Fortify是什么,和Jetstream有什么关系 Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置 Laravel如何处理异常和错误?(Handler示例) Mootools 1.2教程(21)——类(二) Javascript showModalDialog两个窗体之间传值 Laravel如何配置和使用多个数据库连接 服务器遭受arp欺骗的解决方法 <font color=red>原创</font> Laravel如何编写单元测试和功能测试?(PHPUnit示例) Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全 Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作 Laravel API资源(Resource)怎么格式化JSON输出 Win11怎么关闭自动修复_跳过Win11开机自动修复循环【技巧】 Win11输入法切换快捷键怎么改_Windows 11自定义语言切换键位【教程】 Python 流程控制实例代码 JavaScript 变量命名规则 asp.net Forms身份验证和基于角色的权限访问 Laravel中的whereHas和orWhereHas怎么进行关联模型查询 Laravel如何实现一个简单的购物车功能_Laravel购物车逻辑与实现步骤 Laravel DB事务怎么使用_Laravel数据库事务回滚操作 下载站控制介绍字数显示的脚本 显示全部 隐藏介绍等功能 Mootools 1.2教程 滑动效果(Slide) Laravel模型关联查询教程_Laravel Eloquent一对多关联写法 MAC如何快速搜索大文件_MAC磁盘空间分析与冗余数据清理【方法】 Win10怎样安装PPT模板_Win10安装PPT模板教程【步骤】 Laravel中的dispatch和dispatchNow有什么区别 Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID
全国统一服务电话
电子邮箱:879577@qq.com
公司地址:宜昌市西陵区黄河路5号三峡明珠10栋1051室
咨询微信
TEL:13680874598