DWZ (JUI)表格Table单击选中功能扩展

2024-05-14 19:32

本文主要是介绍DWZ (JUI)表格Table单击选中功能扩展,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原本DWZ框架提供的单选功能是单击选中表单上某一记录,点击设置好a标签按钮,URL自动加上记录Id并执行URL,打开新窗口或者ajax提交,可实现对该条记录的更新(删除、修改)。这些功能已经很强大了,但是实际项目还会有更复杂的操作,而不单单是url的请求执行,所以本人就对单击选中功能做了扩展。
先介绍原有的功能,为理解接下来的新扩展提供理论基础。
原有功能html端表现:

//a标签按钮,{xxx_id}大括号里的名称是与表单的tr标签属性target的值是一致的
//表单的tr标签属性rel的值就是该行记录的ID值,也就是{xxx_id}所代表的值
<div class="panelBar"><ul class="toolBar"><li class="">//target="navTab"即打开新的页签,target="dialog"即弹出小窗口,title的值为窗口或页签的名//target="ajaxTodo"即ajax提交,title的值为确认执行的弹框提示内容<a class="edit" href="xxx/xxx?id={xxx_id}" target="navTab" title="xx"><span>修改</span></a></li></ul>
</div>
//可单选的表单
<table >
...
<tbody><tr target="xxx_id" rel="1" ><td >xxx</td>...</tr>           
</tbody>
</table >

原有功能javascript端表现:

//dwz.ui.js文件在大概265行到280行(这边有改动,所以是大概位置)
// navTab$("a[target=navTab]", $p).each(function(){$(this).click(function(event){var $this = $(this);var title = $this.attr("title") || $this.text();var tabid = $this.attr("rel") || "_blank";var fresh = eval($this.attr("fresh") || "true");var external = eval($this.attr("external") || "false");var url = unescape($this.attr("href")).replaceTmById($(event.target).parents(".unitBox:first"));DWZ.debug(url);if (!url.isFinishedTm()) {alertMsg.error($this.attr("warn") || DWZ.msg("alertSelectMsg"));return false;}navTab.openTab(tabid, url,{title:title, fresh:fresh, external:external});event.preventDefault();});});

以上是原有target=”navTab”打开新的页签的功能全部,本人就是以这个为参照,做出更灵活的扩展功能。
以下就是具体实现:
在dwz.ui.js里navTab实现方法之后加如下jq代码(即initUI(_box)方法里):

//新的单击选中功能,是自定义target="editOne",并在a标签里自定义属性editOne="youfunc()"实现的
// clickOne$("a[target=editOne]", $p).each(function(){$(this).click(function(event){var $this = $(this);var title = $this.attr("title") || $this.text();//获取editOne属性的值即自定义的js函数var url = unescape($this.attr("editOne")).replaceTmById($(event.target).parents(".unitBox:first"));DWZ.debug(url);if (!url.isFinishedTm()) {alertMsg.error($this.attr("warn") || DWZ.msg("alertSelectMsg"));return false;}//执行自定义的js函数eval(url);event.preventDefault();});});

html的扩展实现:

<a class="edit" editOne="youfunc({xxx_id})" target="editOne"><span>XXX</span></a>

这篇关于DWZ (JUI)表格Table单击选中功能扩展的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/989642

相关文章

android 免费短信验证功能

没有太复杂的使用的话,功能实现比较简单粗暴。 在www.mob.com网站中可以申请使用免费短信验证功能。 步骤: 1.注册登录。 2.选择“短信验证码SDK” 3.下载对应的sdk包,我这是选studio的。 4.从头像那进入后台并创建短信验证应用,获取到key跟secret 5.根据技术文档操作(initSDK方法写在setContentView上面) 6.关键:在有用到的Mo

android一键分享功能部分实现

为什么叫做部分实现呢,其实是我只实现一部分的分享。如新浪微博,那还有没去实现的是微信分享。还有一部分奇怪的问题:我QQ分享跟QQ空间的分享功能,我都没配置key那些都是原本集成就有的key也可以实现分享,谁清楚的麻烦详解下。 实现分享功能我们可以去www.mob.com这个网站集成。免费的,而且还有短信验证功能。等这分享研究完后就研究下短信验证功能。 开始实现步骤(新浪分享,以下是本人自己实现

Android我的二维码扫描功能发展史(完整)

最近在研究下二维码扫描功能,跟据从网上查阅的资料到自己勉强已实现扫描功能来一一介绍我的二维码扫描功能实现的发展历程: 首页通过网络搜索发现做android二维码扫描功能看去都是基于google的ZXing项目开发。 2、搜索怎么使用ZXing实现自己的二维码扫描:从网上下载ZXing-2.2.zip以及core-2.2-source.jar文件,分别解压两个文件。然后把.jar解压出来的整个c

iptables(7)扩展模块state

简介         前面文章我们已经介绍了一些扩展模块,如iprange、string、time、connlimit、limit,还有扩展匹配条件如--tcp-flags、icmp。这篇文章我们介绍state扩展模块  state          在 iptables 的上下文中,--state 选项并不是直接关联于一个扩展模块,而是与 iptables 的 state 匹配机制相关,特

FastAdmin/bootstrapTable 表格中生成的按钮设置成文字

公司有个系统后台框架用的是FastAdmin,后台表格的操作栏按钮只有图标,想要设置成文字。 查资料后发现其实很简单,主需要新增“text”属性即可,如下 buttons: [{name: 'acceptcompany',title: '复核企业',text:'复核企业',classname: 'btn btn-xs btn-primary btn-dialog',icon: 'fa fa-pe

开启青龙 Ninja 扫码功能失效后修改成手动填写CK功能【修正Ninja拉库地址】

国内:进入容器docker exec -it qinglong bash #获取ninjagit clone -b main https://ghproxy.com/https://github.com/wjx0428/ninja.git /ql/ninja#安装cd /ql/ninja/backend && pnpm install cp .env.example .env

【机器学习】半监督学习可以实现什么功能?

目录 一、什么是机器学习二、半监督学习算法介绍三、半监督学习算法的应用场景四、半监督学习可以实现什么功能? 一、什么是机器学习 机器学习是一种人工智能技术,它使计算机系统能够从数据中学习并做出预测或决策,而无需明确编程。它涉及到使用算法和统计模型来分析大量数据,识别其中的模式和关系,并利用这些信息来预测未来事件或做出决策。机器学习可以应用于各种领域,包括图像识别、自然语言

BD错误集锦9——查询hive表格时出错:Wrong FS: hdfs://s233/user/../warehouse expected: hdfs://mycluster

集群环境描述:HDFS集群处于HA模式下,同时启动了YARN\JN\KAFKA\ZK。 现象: FAILED: SemanticException Unable to determine if hdfs://s233/user/hive/warehouse/mydb.db/ext_calllogs_in_hbase is encrypted: java.lang.IllegalArgument

BD错误集锦6——【IDEA报错】tomcat server功能无效,报错Java EE: EJB, JPA, Servlets

在网上查找原因,发现是非法关闭IDEA导致的。 Open Settings | Plugns and enable it. 在设置中enable JAVA EE和tomcat server即可。 参考: https://stackoverflow.com/questions/43607642/intellij-idea-plugin-errorproblems-found-loadin

TableView 当前选中的行号。 默认会使哪一行选中 加入导航条后contentInset向下偏移的64

1.得到当前选中的行号     NSLog(@"%ld %s",  [self.tableView indexPathForSelectedRow].row,__func__); 2.默认选中表格的那一行     [self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0 ]