JEECG 页面多个用户选择器只显示最后一个
来源:互联网 发布:模块数据出现异常400 编辑:程序博客网 时间:2024/05/24 06:33
在一个页面当中,我们可能会需要有多个的用户选择器进行快速的录入,此时会发现所有的输入都会在最后一个用户选择器的地方显示
查看页面代码当中的ID也是不一致:
查看通过标签生成之后的源码,可以发现所有的用户选择器都会生成一个
<input readonly="readonly" type="text" id="userName_1" name="userName_1" style="width: 150px" onclick="openUserSelect()" /><input id="userId_1" name="userId_1" type="hidden" />function openUserSelect() { $.dialog({ content: 'url:userController.do?userSelect', zIndex: getzIndex(), title: '用户名称', lock: true, width: '400px', height: '350px', opacity: 0.4, button: [{ name: '确定', callback: callbackUserSelect, focus: true }, { name: '取消', callback: function () {} }] });}function callbackUserSelect() { var iframe = this.iframe.contentWindow; var rowsData = iframe.$('#userList1').datagrid('getSelections'); if (!rowsData || rowsData.length == 0) { tip('<t:mutiLang langKey="common.please.select.edit.item"/>'); return; } var ids = '', names = ''; for (i = 0; i < rowsData.length; i++) { var node = rowsData[i]; ids += node.id + ','; names += node.realName + ','; } $('#userName_1').val(names); $('#userName_1').blur(); $('#userId_1').val(ids);}
点击输入框调用的js方法都是一样的,看到这里也就可以明白为什么都是只有最后一个用户选择输入框当中有数据了。
因此我们对后台当中标签代码生成部分进行改造,让其支持多个用户选择器:
修订类:src/main/java/org/jeecgframework/tag/core/easyui/UserSelectTag.java
当中的end方法:
public StringBuffer end() { …… sb.append("<input readonly=\""+readonly+"\" type=\"text\" id=\"" + selectedNamesInputId + "\" name=\"" + selectedNamesInputId + "\" style=\"width: "+inputWidth+"\" onclick=\"open"+StringUtil.firstUpperCase(selectedNamesInputId)+"UserSelect()\" "); if(StringUtils.isNotBlank(userNamesDefalutVal)){ sb.append(" value=\""+userNamesDefalutVal+"\""); } sb.append(" />"); if(oConvertUtils.isNotEmpty(selectedIdsInputId)){ sb.append("<input id=\"" + selectedIdsInputId + "\" name=\"" + selectedIdsInputId + "\" type=\"hidden\" "); if(StringUtils.isNotBlank(userIdsDefalutVal)){ sb.append(" value=\""+userIdsDefalutVal+"\""); } sb.append("/>"); } …… sb.append("function open"+StringUtil.firstUpperCase(selectedNamesInputId)+"UserSelect() {"); sb.append(" $.dialog({content: 'url:userController.do?userSelect', zIndex: getzIndex(), title: '" + title + "', lock: true, width: '" + windowWidth + "', height: '" + windowHeight + "', opacity: 0.4, button: ["); sb.append(" {name: '" + commonConfirm + "', callback: callback"+StringUtil.firstUpperCase(selectedNamesInputId)+"UserSelect, focus: true},"); sb.append(" {name: '" + commonCancel + "', callback: function (){}}"); sb.append(" ]});"); sb.append("}"); sb.append("function callback"+StringUtil.firstUpperCase(selectedNamesInputId)+"UserSelect() {"); sb.append("var iframe = this.iframe.contentWindow;"); sb.append("var rowsData = iframe.$('#userList1').datagrid('getSelections');"); …… sb.append("}"); sb.append("</script>"); return sb; }
主要修订当中的js方法名称
阅读全文
0 0
- JEECG 页面多个用户选择器只显示最后一个
- JEECG 页面多个用户选择器只显示最后一个
- 一个页面,多个ajax请求,只最后一个有响应的解决办法。
- jeecg模块list页面显示不出来只显示"[]"
- 百度地图:一个页面多个地图,只显示一个地图的解决办法
- 百度地图 循环加载marker并添加多个信息窗口,解决只显示最后一个窗口信息的问题
- win2008 只显示一个用户
- win2008 只显示一个用户
- 一个页面显示多个倒计时
- 一个view显示多个model(一个页面显示多张表)
- jquery选择器最后一个,倒数第二个元素
- Android AlarmManager设置多个定时事件时只最后一个有效问题解决
- Android AlarmManager设置多个定时事件时只最后一个有效问题解决
- Android AlarmManager设置多个定时事件时只最后一个有效问题解决
- 微信js 上传多个照片IOS,只上传了最后一个
- Android AlarmManager设置多个定时事件时只最后一个有效问题解决
- 测试在discuz后台增加一个只能用admin用户打开的管理页面,仅显示aaa三个字母
- Toast只显示最后一条
- 头脑风暴:在9 个点上画10 条直线,要求每条直线上至少有三个点.
- 关于Navicat mysql连接出现1045 access denied for user 'root'@'localhost' using password: yes
- 初识shell
- Tour UVa 1347
- E
- JEECG 页面多个用户选择器只显示最后一个
- 观察者优缺点
- 过滤 URL 参数 空值,删除 FORM GET URL 空值解决函数方法
- Android基础:Activity回顾(生命周期、启动模式)
- python的爬虫框架scrapy安装和简单使用
- C# WinForm中Listview的使用
- 【怎样写代码】工厂三兄弟之抽象工厂模式(三):产品等级结构与产品族
- 1.html基础知识
- spark学习笔记之一:RDD的五大特性