jeecg3.3版本 弹出框完善
本帖最后由 GIN 于 2013-9-17 12:23 编辑试用了一下,直到3.3,弹出框这块还是不好用。
放心修改,这个会在下一个版本中追加的,不用担心升级!
弹出框目前使用 <t:choose>标签。
主要存在问题:
[*]在一个页面使用多个choose后,弹出后只能回填第一行的控件。
[*]“选择”按钮没有样式,很丑。
[*]在一对多页面明细行里弹出没法用。
针对1.可以对t:choose进行改造,目前我自己重构了一份,修复了这个问题,原因是标签生成的方法重名。
另外标签增加了一个属性:inputTextname,把控件和弹出列表中的字段区分开来,支持多个字段与控件的回填。
以前的hiddenName,hiddenid 可以废弃掉不用了。
<input name="roleid1"name="roleid1" value="${id}" id="roleid1">
<input name="roleName1" class="inputxt" value="${roleName }" id="roleName1" readonly="readonly" datatype="*" />
<t:chooseurl="userController.do?roles" name="roleList" icon="icon-search" title="角色列表" inputTextname="roleid1,roleName1" textname="id,roleName" isclear="true"></t:choose>
inputTextname:要回填数据的控件id
textname:弹出列表的字段名
针对2.直接在<t:choose>的方法内icon属性改为icon-search即可。
<t:choose hiddenName="roleid" hiddenid="id" url="userController.do?roles" name="roleList" icon="icon-search" title="角色列表" textname="roleName" isclear="true"></t:choose>
效果:
针对3.在一对多的页面中的明细行弃用标签,改用js方式,我这里实现了一个通用的Js弹出方法,在crudtools.js中,覆盖到项目中,直接在界面里调用即可,不需要再引入。/*
自定义url的弹出
obj:要填充的控件,可以为多个,以逗号分隔
name:列表中对应的字段,可以为多个,以逗号分隔(与obj要对应)
url:弹出页面的Url
*/
function popClick(obj,name,url) {在一对多弹出示例:(这里使用demo中的常用插件-一对多模型)
/WebRoot/webpage/jeecg/demo/test/jeecgOrderMain.jsp
改造:
function resetTrNum(tableId) {
$tbody = $("#"+tableId+"");
$tbody.find('>tr').each(function(i){
$(':input, select', this).each(function(){
var $this = $(this), name = $this.attr('name'), val = $this.val();
if(name!=null){
if (name.indexOf("#index#") >= 0){
$this.attr("name",name.replace('#index#',i));
}else{
var s = name.indexOf("[");
var e = name.indexOf("]");
var new_name = name.substring(s+1,e);
$this.attr("name",name.replace(new_name,i));
}
//给明细添加弹出框
name = $this.attr('name');
if(name.indexOf("jeecgOrderProductList") >= 0 && name.indexOf("gopProductName") >= 0){
$this.attr("class","searchbox-inputtext");
$this.unbind("click");
$this.bind("click",function(){popClick("jeecgOrderProductList\["+i+"\]\.gopProductName","roleName","userController.do?roles")});
}
}
});
});
}
/WebRoot/webpage/jeecg/demo/test/jeecgOrderProductList.jsp
$(document).ready(function(){ $(".datagrid-toolbar").parent().css("width","auto");
});
在这段代码之前加上下面这一句:
resetTrNum('add_jeecgOrderProduct_table');
效果:
最后我把包打出来,包括demo的修改,覆盖到项目中可以直接在demo的一对多模型查询效果。
大牛,不错 GIN一直很热心! 请问一下,我覆盖完,DataGridUrl类显示错误,这个类是调用哪个包里的? GIN,非常感谢您,帮了我大忙了:handshake 难道你比我酷 发表于 2013-10-15 06:56 static/image/common/back.gif
请问一下,我覆盖完,DataGridUrl类显示错误,这个类是调用哪个包里的?
方法一(没试过):直接把DataGridUrl 改为DateGridUrl
方法二:
解包org.jeecgframework.tag-sources-3.3.2.jar 覆盖到你的项目中,然后你可以选择把
/jeecg-v3-simple/src/org/jeecgframework/tag/vo/easyui/DateGridColumn.java和
/jeecg-v3-simple/src/org/jeecgframework/tag/vo/easyui/DateGridUrl.java中的
类名Datexxxx改为Dataxxx 就可以了 不知道这里是不是个笔误....... 不好意思 tag的3.2发布后 类名做了更改
Date... 改为了 Data... 顶你!!帮了我大忙了!!!谢谢!! GIN 发表于 2013-10-23 16:49 static/image/common/back.gif
不好意思 tag的3.2发布后 类名做了更改
Date... 改为了 Data...
jeecg弹出框显示带多选框的list如何让多选框实现单选;
如:
<html>
<head>
<meta http-equiv="content-Type" content="text/html;charset=gb2312">
<title>多选框特效</title>
<script>
function chewww_zzjs_netValidate(cb) {
for (j = 0; j < 8; j++) {
if (eval("document.zzjs_net.www_zzjs_net[" + j + "].checked") == true) {
document.zzjs_net.www_zzjs_net.checked = false;
if (j == cb) {
document.zzjs_net.www_zzjs_net.checked = true;
}
}
}
</script>
</head>
<body>
<form name="zzjs_net">
<div align="center">选框 1
<input type="checkBox" name="www_zzjs_net" onClick="javascript:chewww_zzjs_netValidate(0)">
<br>
选框 2
<input type="checkBox" name="www_zzjs_net" onClick="javascript:chewww_zzjs_netValidate(1)">
<br>
选框 3
<input type="checkBox" name="www_zzjs_net" onClick="javascript:chewww_zzjs_netValidate(2)">
<br>
选框 4
<input type="checkBox" name="www_zzjs_net" onClick="javascript:chewww_zzjs_netValidate(3)">
<br>
选框 5
<input type="checkBox" name="www_zzjs_net" onClick="javascript:chewww_zzjs_netValidate(4)">
<br>
选框 6
<input type="checkBox" name="www_zzjs_net" onClick="javascript:chewww_zzjs_netValidate(5)">
<br>
选框 7
<input type="checkBox" name="www_zzjs_net" onClick="javascript:chewww_zzjs_netValidate(6)">
<br>
选框 8
<input type="checkBox" name="www_zzjs_net" onClick="javascript:chewww_zzjs_netValidate(7)">
</div>
</form>
</body>
</html> 请教一下,jeecg快速开发平台的弹出框都是蓝色的吗?不会随着主题改变变换吗?
页:
[1]
2