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