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

相关文章

【Altium】查找PCB上未连接的网络

【更多软件使用问题请点击亿道电子官方网站】 1、文档目标: PCB设计后期检查中找出没有连接的网络 应用场景:PCB设计后期,需要检查是否所有网络都已连接布线。虽然未连接的网络会有飞线显示,但是由于布线后期整板布线密度较高,虚连,断连的网络用肉眼难以轻易发现。用DRC检查也可以找出未连接的网络,如果PCB中DRC问题较多,查找起来就不是很方便。使用PCB Filter面板来达成目的相比DRC

(超详细)YOLOV7改进-Soft-NMS(支持多种IoU变种选择)

1.在until/general.py文件最后加上下面代码 2.在general.py里面找到这代码,修改这两个地方 3.之后直接运行即可

WordPress网创自动采集并发布插件

网创教程:WordPress插件网创自动采集并发布 阅读更新:随机添加文章的阅读数量,购买数量,喜欢数量。 使用插件注意事项 如果遇到404错误,请先检查并调整网站的伪静态设置,这是最常见的问题。需要定制化服务,请随时联系我。 本次更新内容 我们进行了多项更新和优化,主要包括: 界面设置:用户现在可以更便捷地设置文章分类和发布金额。代码优化:改进了采集和发布代码,提高了插件的稳定

【青龙面板辅助】JD商品自动给好评获取京豆脚本

1.打开链接 开下面的链接进入待评价商品页面 https://club.jd.com/myJdcomments/myJdcomments.action?sort=0 2.登陆后执行脚本 登陆后,按F12键,选择console,复制粘贴以下代码,先运行脚本1,再运行脚本2 脚本1代码 可以自行修改评价内容。 var content = '材质很好,质量也不错,到货也很快物流满分,包装快递满

AI炒股:自动画出A股股票的K线图并添加技术指标

在deepseek中输入提示词: 你是一个Python编程专家,要完成一个编写Python脚本的任务,具体步骤如下: 用AKShare库获取股票贵州茅台(股票代码:600519)在2024年3月7日到2024年6月5日期间的历史行情数据-前复权。 然后绘制K线图,并在K线图上添加布林线、MACD 注意: 每一步都要输出信息到屏幕上; 日期格式是YYYYMMDD; 设置中文字体,以解决

XMG 自动提示宏 #define keyPath(objc,keyPath) @(((void)objc.keyPath,#keyPath));

1. int a=((void)5,4)  C语言逗号表达式默认会取右边的内容 如果不写void的话 a会被报警告,写上void标明请忽略左边的内容 插曲刚才弄得,已经上线的苹果产品如果需要下架的话,点击 价格与销售范围,然后点击下架。这个产品就会在AppStore 中移除。如果想再让改产品重新在Apple store中显示,那么再次让他上线就可以了。但是会有一定的时间延迟 /

自动驾驶---Perception之Lidar点云3D检测

1 背景         Lidar点云技术的出现是基于摄影测量技术的发展、计算机及高新技术的推动以及全球定位系统和惯性导航系统的发展,使得通过激光束获取高精度的三维数据成为可能。随着技术的不断进步和应用领域的拓展,Lidar点云技术将在测绘、遥感、环境监测、机器人等领域发挥越来越重要的作用。         目前全球范围内纯视觉方案的车企主要包括特斯拉和集越,在达到同等性能的前提下,纯视觉方

服务器监控:运维行业的核心保障与第三方监控软件的选择

随着信息技术的飞速发展,企业IT架构日益复杂,服务器作为整个IT系统的核心,其稳定性和性能对业务的连续性至关重要。在运维行业中,服务器监控作为保障服务器稳定运行的关键环节,已经受到了越来越多企业的重视。本文将探讨服务器监控的重要性、挑战以及选择第三方监控软件的原因,并推荐一款优秀的服务器监控软件——监控易。 一、服务器监控的重要性     服务器监控是指对服务器硬件、操作系统、应用程序

Android WebView选择标记

前言 最近项目中有个需求是对后台返回的Html数据显示并且能够进行标记,点击标记还要能显示对应的笔记数据,那么这样的需求,对于同类型的小说来说是我们力所能及First想到的,但是你看遍所有的博客和Demo之后你会发现,他们使用的返回数据是完全不一样的,那么对于网页数据怎么来实现标记呢,首先选择获取文字就是一个问题,怎么获取到选中的文字,那么就只有重写WebView,对WebView的菜单栏进行编

Linux开机自动启动ORACLE设置

Redhat init简介: Linux启动时,会运行一个init程序,然后由init来启动后面的任务,包括多用户环境(inittab中设定)和网络等。运行级就是当前程序运行的功能级别,这个级别从1到6,具有不同的功能。这些级别在/etc/inittab(其他发行版这个文件位置不同)中指定,该文件就是init程序寻找的主要文件。最先运行的服务放在/etc/rc.d目录下。