DWZ(JUI)查找带回再次点击已选择的自动勾选

2024-05-14 19:32

本文主要是介绍DWZ(JUI)查找带回再次点击已选择的自动勾选,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原功能描述

DWZ框架的查找带回功能很好用,但在多选的情况下,如果是第一次已选了或者服务器默认带回来的已选内容,再次点击查找带回的放大镜,原来选过的就不会被勾选了。如下图所示:
已选并没有勾选
如果是用户只是在已选的基础上再多勾选一个,那就需要重新勾选已选过的。已选的比较少还好,如果比较多或者是很多层级的树状多选框,那这样的设计太不人性化了。

解决办法

扩展查找带回的功能,点击放大镜(即查找带回功能)时,获取原有的已选内容,在查找带回弹窗页面加载后激活函数让已选的选中。

代码实现

步骤一:

查找带回的点击触发功能在dwz.database.js的lookup里,修改点击触发的功能:

lookup: function(){return this.each(function(){......$this.click(function(event){......//获取已选的内容var lookAttr=$this.attr("lookupGroup");//得到已选的值var oldIds=$this.parent().find("input[name='"+lookAttr+".id']").val();//传参到弹框生成的代码里,下一步还需要修改弹框生成代码options.oldIds=oldIds;if ($this.attr("rel") == null)$.pdialog.open(url, "_blank", $this.attr("title") || $this.text(), options);else$.pdialog.open(url, $this.attr("rel"), $this.attr("title") || $this.text(), options);return false;});});}

步骤二:

弹框生成代码在dwz.dialog.js中,需要把值放到当前的$.pdialog._op中

//首先给_op添加属性
(function($){$.pdialog = {_op:{height:300, width:580, minH:40, minW:50, total:20, max:false, mask:false, resizable:true, drawable:true, maxable:true,minable:true,fresh:true,oldIds:""},.....
//打开一个层open:function(url, dlgid, title, options) {var op = $.extend({},$.pdialog._op, options);var dialog = $("body").data(dlgid);//得到上一步传过来的已选内容$.pdialog._op.oldIds=options.oldIds;......
});     

步骤三:

页面设置表格的ID,在页面加载后获取已选内容让其选中

//设置表格ID
<table id="tableId" class="table" width="100%" layoutH="115">
......
//
$(function() {oldTableBack("tableId");});
//已选带回的方法
function oldTableBack(tableId) {//获取已选内容var oldIds=$.pdialog._op.oldIds;var checkList=[];if(oldIds!=null&&oldIds!=undefined&&oldIds!=''){//得到已选列表checkList=oldIds.split(',');}$("#"+tableId).find("tr").each(function (i) {//是否已选判断if($.inArray($(this).attr("rel"), checkList)!=-1) {//复选框选中$(this).find('input[name=bringBacks]').attr("checked", true);}});}

这篇关于DWZ(JUI)查找带回再次点击已选择的自动勾选的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/989643

相关文章

Python使用pynput模拟实现键盘自动输入工具

《Python使用pynput模拟实现键盘自动输入工具》在日常办公和软件开发中,我们经常需要处理大量重复的文本输入工作,所以本文就来和大家介绍一款使用Python的PyQt5库结合pynput键盘控制... 目录概述:当自动化遇上可视化功能全景图核心功能矩阵技术栈深度效果展示使用教程四步操作指南核心代码解析

SpringBoot实现文件记录日志及日志文件自动归档和压缩

《SpringBoot实现文件记录日志及日志文件自动归档和压缩》Logback是Java日志框架,通过Logger收集日志并经Appender输出至控制台、文件等,SpringBoot配置logbac... 目录1、什么是Logback2、SpringBoot实现文件记录日志,日志文件自动归档和压缩2.1、

SpringCloud使用Nacos 配置中心实现配置自动刷新功能使用

《SpringCloud使用Nacos配置中心实现配置自动刷新功能使用》SpringCloud项目中使用Nacos作为配置中心可以方便开发及运维人员随时查看配置信息,及配置共享,并且Nacos支持配... 目录前言一、Nacos中集中配置方式?二、使用步骤1.使用$Value 注解2.使用@Configur

Golang实现Redis分布式锁(Lua脚本+可重入+自动续期)

《Golang实现Redis分布式锁(Lua脚本+可重入+自动续期)》本文主要介绍了Golang分布式锁实现,采用Redis+Lua脚本确保原子性,持可重入和自动续期,用于防止超卖及重复下单,具有一定... 目录1 概念应用场景分布式锁必备特性2 思路分析宕机与过期防止误删keyLua保证原子性可重入锁自动

python利用backoff实现异常自动重试详解

《python利用backoff实现异常自动重试详解》backoff是一个用于实现重试机制的Python库,通过指数退避或其他策略自动重试失败的操作,下面小编就来和大家详细讲讲如何利用backoff实... 目录1. backoff 库简介2. on_exception 装饰器的原理2.1 核心逻辑2.2

Java如何根据文件名前缀自动分组图片文件

《Java如何根据文件名前缀自动分组图片文件》一大堆文件(比如图片)堆在一个目录下,它们的命名规则遵循一定的格式,混在一起很难管理,所以本文小编就和大家介绍一下如何使用Java根据文件名前缀自动分组图... 目录需求背景分析思路实现代码输出结果知识扩展需求一大堆文件(比如图片)堆在一个目录下,它们的命名规

C#实现查找并删除PDF中的空白页面

《C#实现查找并删除PDF中的空白页面》PDF文件中的空白页并不少见,因为它们有可能是作者有意留下的,也有可能是在处理文档时不小心添加的,下面我们来看看如何使用Spire.PDFfor.NET通过C#... 目录安装 Spire.PDF for .NETC# 查找并删除 PDF 文档中的空白页C# 添加与删

使用Python实现实时金价监控并自动提醒功能

《使用Python实现实时金价监控并自动提醒功能》在日常投资中,很多朋友喜欢在一些平台买点黄金,低买高卖赚点小差价,但黄金价格实时波动频繁,总是盯着手机太累了,于是我用Python写了一个实时金价监控... 目录工具能干啥?手把手教你用1、先装好这些"食材"2、代码实现讲解1. 用户输入参数2. 设置无头浏

exfat和ntfs哪个好? U盘格式化选择NTFS与exFAT的详细区别对比

《exfat和ntfs哪个好?U盘格式化选择NTFS与exFAT的详细区别对比》exFAT和NTFS是两种常见的文件系统,它们各自具有独特的优势和适用场景,以下是关于exFAT和NTFS的详细对比... 无论你是刚入手了内置 SSD 还是便携式移动硬盘或 U 盘,都需要先将它格式化成电脑或设备能够识别的「文

Python实现微信自动锁定工具

《Python实现微信自动锁定工具》在数字化办公时代,微信已成为职场沟通的重要工具,但临时离开时忘记锁屏可能导致敏感信息泄露,下面我们就来看看如何使用Python打造一个微信自动锁定工具吧... 目录引言:当微信隐私遇到自动化守护效果展示核心功能全景图技术亮点深度解析1. 无操作检测引擎2. 微信路径智能获