tianshan 发表于 2018-11-21 20:19:54

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

本帖最后由 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。哈哈哈!;P

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,改造和使用方法就是这么简单,不足之处可以跟帖指点!:victory:

jeecg_ty 发表于 2018-11-21 20:33:56

{:3_48:}

jeecg_ty 发表于 2018-11-21 20:34:03

{:3_48:}

qingzhaozh 发表于 2019-2-1 01:07:01

mark
页: [1]
查看完整版本: 关于popupClick增加回调方法以及子表添加多行的经验贴!