您好,欢迎访问宜昌市隼壹珍商贸有限公司
本文介绍如何为基于 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营销 】 【 百度推广 】
相关推荐: Windows10如何更改鼠标灵敏度_Win10鼠标属性指针选项调节 laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法 MAC怎么在照片中添加水印_MAC自带编辑工具文字水印叠加【方法】 Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案 Laravel如何使用withoutEvents方法临时禁用模型事件 Laravel中怎么进行数据库事务处理 Windows 11如何开启文件夹加密(EFS)_Windows 11文件属性中加密内容以保护数据 Laravel如何实现API速率限制?(Rate Limiting教程) Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】 AJAX 客户端响应速度提高分析 Linux怎么禁止Root用户远程登录_Linux系统SSH加固与安全设置【教程】 用JavaScript隐藏控件的方法 Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程 Laravel模型关联查询教程_Laravel Eloquent一对多关联写法 解決安裝了apache却找不到服务的问题 Win11怎么关闭小组件_Win11禁用任务栏天气与小组件方法【设置】 Win11怎么关闭防火墙通知_屏蔽Win11安全中心安全警告弹窗【技巧】 Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践 Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率 laravel怎么编写一个Feature Test_laravel Feature Test编写教程 Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑 Windows10系统怎么查看硬盘健康_Win10 SMART信息检测工具 mySQL 延迟 查询主表 小学生作文妙语 开怀大笑作品 如何在Golang中引入测试模块_Golang测试包导入与使用实践 php程序之die调试法 快速解决错误 Win11怎么设置快速访问_Windows11文件资源管理器主页 编写的vs2005水晶报表程序在vs2008下正常使用的一些实现方法 laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法 laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法 MSSQL汉字转拼音函数实现语句 Win11怎么制作U盘启动盘_Win11原版系统安装盘制作【详解】 sqlserver 中charindex/patindex/like 的比较 Win10怎样清理C盘阿里旺旺缓存_Win10清理阿里旺旺缓存步骤【步骤】 Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】 Win11文件扩展名怎么显示_Win11查看文件后缀名设置【基础】 Windows如何使用注册表查找和删除项?(regedit教程) Laravel如何利用Inertia.js构建单页面应用_Laravel与Inertia集成SPA开发 Windows10如何更改鼠标图标_Win10鼠标属性指针浏览 C# ListView双击Item事件 Windows10如何更改计算机工作组_Win10系统属性修改Workgroup Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】 jquery 子窗口操作父窗口的代码 Laravel如何使用Blade模板引擎?(完整语法和示例) Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法 Win11鼠标灵敏度怎么调 Win11鼠标指针移动速度设置【教程】 如何在Laravel项目中使用Pest进行测试 Win11开机自检怎么关闭_跳过Win11开机磁盘扫描修复方法【技巧】 Laravel如何使用Service Container和依赖注入?(代码示例) Win10如何备份驱动程序_Win10驱动备份步骤【攻略】
全国统一服务电话
电子邮箱:879577@qq.com
公司地址:宜昌市西陵区黄河路5号三峡明珠10栋1051室
咨询微信
TEL:13680874598