关注JEECG发展历程 关注最新动态和版本, 记录JEECG成长点滴 更新日志 - 技术支持 - 招聘英才

JEECG最新版本下载 JEECG智能开发平台 - 显著提高开发效率 常见问题 - 入门视频 - 参与开源团队

商务QQ: 69893005、418799587 商务热线(5*8小时): 010-64808099 官方邮箱: jeecgos@163.com

查看: 11136|回复: 3

关于popupClick增加回调方法以及子表添加多行的经验贴!

[复制链接]
发表于 2018-11-21 20:19:54 | 显示全部楼层 |阅读模式
本帖最后由 tianshan 于 2018-11-21 20:21 编辑

最近看到有个别jeecg使用用户 反应子表用popup选择则器返回的值不能填加多行的问题。
然后我就在这里发个帖分享一下本人的解决方案吧!
1.首先在curdtools.js  里找到 popupClick这个js函数, 可以看到函数默认有4个参数,我们给这个函数追加第5个参数:callback
(ps:参数名任意,参数可传可不传)function popupClick(pobj, tablefield, inputnames, pcode, callback)。
2.在popupClick点击确定时,代码最后加上这一段:
if (typeof callback === "function") {
    callback();//callback方法里可以把你获取到的值放进去,看你怎么用了。这里列出来是简单的执行回调函数!
}

ok,到此,方法改造完成,是不是so easy。哈哈哈!

3.下面就来说一下子表如何使用吧。
onclick="popupClick(this,'**','**','**',exportSub),前面几个参数不用说,大家应该都懂,第5个参数就是你写的js函数的名字(例如:function exportSub(){}),此时popupClick已经执行完毕,对应的控件也获取到返回值了,而你这个js函数要做的就是把控件里面的值取出来,以逗号分割,来判断需要添加几行数据。

//分割数据
var ** = $("#**").val().split(",");

//获取模板 循环添加子表行(ps:这里没贴for循环,比较懒)
var tr = $("#add_**_table_template tr").clone();
$("#add_**_table").append(tr);
resetTrNum('add_**_table');

//追加数据进去
$("#add_**_table tr").eq(rowIndex).children("td").eq(2).children(":first").val(row.id);

4.ok,改造和使用方法就是这么简单,不足之处可以跟帖指点!
发表于 2018-11-21 20:33:56 | 显示全部楼层
发表于 2018-11-21 20:34:03 | 显示全部楼层
发表于 2019-2-1 01:07:01 | 显示全部楼层
mark
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表