jsp中一行多条数据情况
1.实现效果:点击新增会在之前文本框后一直新增文本框并且保留新增的图片
效果图:

2.jsp代码:
<table class="Business_Table">
<tr>
<td class="TableLabel_Left TableLabel_Tip">
<span style="float:left" class="bold">附着高度</span>
</td>
</tr>
</table>
<div style="display: none" id="fzgdTableTbodyTemp"><!--主要是为了po对象字段及显示字段问题 -->
<ww:hidden name="fzgdList[].id" id="fzgdList[]_id" />
<ww:hidden name="fzgdList[].wxyqkid" id="fzgdList[]_wxyqkid" />
<ww:hidden name="fzgdList[].lsbz" id="fzgdList[]_lsbz" />
<ww:hidden name="fzgdList[].gcid" id="fzgdList[]_gcid"/>
<ww:hidden name="fzgdList[].gccode" id="fzgdList[]_gccode"/>
<ww:hidden name="fzgdList[].cjsj" id="fzgdList[]_cjsj"/>
<div style="display: none"><ww:checkbox name="RP_VISIBLE" theme="simple" /></div>
<div style="background-color: #00bfff;" style="width: 100%;text-align:center;">第()道</div>
<div>
<ww:textfield name="fzgdList[].fzgd" id="fzgdList[]_fzgd" theme="simple"
subNum="2" precision="2" validType="length[1,6]" cssClass="txtBox easyui-numberbox" />
</div>
</div>
<div style="display: none" id="fzgdTableTbodyImg"><!--主要是为了图片的问题 -->
<td class="Page_TableText_Center" style="width: 20%" onmousemove="this.bgColor='yellow'" onmouseout="this.bgColor='#FFFFFF'">
<img src="/skin/silver/images/add.gif" alt="" onclick="addFzgd('fzgdTableTbody')"/>
<div style="display: none"><ww:checkbox name="RP_VISIBLE" theme="simple" /></div>
</td>
</div>
<table class="Page_Table_Common div_page_margin">
<ww:if test="fzgdList != null">
<tbody id="fzgdTableTbody">
<ww:iterator value="fzgdList" status="rowstatus" id="it"><!-- 因为一行显示5条数据,判断是否新增tr-->
<ww:if test="#rowstatus.index%5==0">
<tr style="height: 55px;">
</ww:if>
<td class="Page_TableText_Center" onmousemove="this.bgColor='yellow'" onmouseout="this.bgColor='#FFFFFF'"
style="width: 20%;" >
<ww:hidden name="fzgdList[${rowstatus.index}].id" id="fzgdList[${rowstatus.index}]_id" />
<ww:hidden name="fzgdList[${rowstatus.index}].wxyqkid" id="fzgdList[${rowstatus.index}]_wxyqkid" />
<ww:hidden name="fzgdList[${rowstatus.index}].lsbz" id="fzgdList[${rowstatus.index}]_lsbz" />
<ww:hidden name="fzgdList[${rowstatus.index}].gcid" id="fzgdList[${rowstatus.index}]_gcid"/>
<ww:hidden name="fzgdList[${rowstatus.index}].gccode" id="fzgdList[${rowstatus.index}]_gccode"/>
<ww:hidden name="fzgdList[${rowstatus.index}].cjsj" id="fzgdList[${rowstatus.index}]_cjsj"/>
<div style="display: none"><ww:checkbox name="RP_VISIBLE" theme="simple" /></div>
<div style="background-color: #00bfff;" style="width: 100%;text-align:center;">第(${rowstatus.index+1})道</div>
<div>
<ww:textfield name="fzgdList[${rowstatus.index}].fzgd" id="fzgdList[${rowstatus.index}]_fzgd" theme="simple"
subNum="2" precision="2" validType="length[1,6]" cssClass="txtBox easyui-numberbox" />
</div>
</td>
<ww:if test="#rowstatus.last">
<ww:if test="#rowstatus.count%5 != 0">
<td class="Page_TableText_Center" style="width: 20%"
onmousemove="this.bgColor='yellow'" onmouseout="this.bgColor='#FFFFFF'">
<img src="/skin/silver/images/add.gif" alt="" onclick="addFzgd('fzgdTableTbody')"/>
<div style="display: none"><ww:checkbox name="RP_VISIBLE" theme="simple" /></div>
</td>
</tr>
</ww:if>
<ww:else>
</tr>
<tr style="height: 45px" >
<td class="Page_TableText_Center" style="width: 20%" onmousemove="this.bgColor='yellow'" onmouseout="this.bgColor='#FFFFFF'">
<img src="/skin/silver/images/add.gif" alt="" onclick="addFzgd('fzgdTableTbody')"/>
<div style="display: none"><ww:checkbox name="RP_VISIBLE" theme="simple" /></div>
</td>
</tr>
</ww:else>
</ww:if>
<ww:elseif test="#rowstatus.count%5 == 0 && #rowstatus.index != 0">
</tr>
</ww:elseif>
</ww:iterator>
</tbody>
</ww:if>
</table>
3.js增加方法:
function addFzgd(tbodyid){
var checkls = document.getElementsByName("RP_VISIBLE").length-2;//标示当前所含有的td个数
var _copy = $("#" + tbodyid + "Temp").html(); //需要添加的html
var addHtml = $("#" + tbodyid + "Img").html();
var imgHtml = $("#" + tbodyid+" tr:last-child td:last-child").html(); //获取最后一行的最后一个td
if(checkls%5 == 0){ //此时表示如果添加则到下一行
$("#" + tbodyid).html($("#" + tbodyid).html().replace(imgHtml,_copy));
$("#" + tbodyid).append("<tr style='height: 55px'>"+addHtml+"</tr>");
} else{ //在本行添加
$("#" + tbodyid).html($("#" + tbodyid).html().replace(imgHtml,_copy));//将添加图片替换,然后新增一行
$("#" + tbodyid+" tr:last-child").append(addHtml);
}
//重置对象List下标
var listName = "";
if (tbodyid.indexOf("fzgd") != -1) {
listName = "fzgdList";
}
$("#" + tbodyid + " tr td").each(function (i) {
$(this).find("input,div").each(function () {
var fieldname = $(this).attr("name");
if (fieldname != undefined) {
fieldname = fieldname.split("].")[1]
$(this).attr("name", listName + "[" + i + "]." + fieldname);
$(this).attr("id", listName + "[" + i + "]_" +fieldname);
} else{
if($(this).text().indexOf("第(") != -1){
$(this).text("第("+(i+1)+")道");
}
}
});
});
}
4.需要做的配置:在XxxAction的同级目录下新建XxxAction-conversion.properties,文件内容为
Element_fzgdList=com.xx.xx.xx.xx.po.TpzFzgd
CreateIfNull_fzgdList=true
jsp中一行多条数据情况的更多相关文章
- 分页(将数据库中的多条数据一页一页的显示在jsp页面中)
一.显示数据库中的多条数据为什么要用分页 在真正的开发中,数据库中所存储的数据绝对不像我们平时所写的那样,仅仅有几条数据,而是有几十条甚至上百条,像淘宝京东的用户把都是上几十万甚至百万的.如果这时候在 ...
- 在SQL SERVER中获取表中的第二条数据
在SQL SERVER中获取表中的第二条数据, 思路:先根据时间逆排序取出前2条数据作为一个临时表,再按顺时排序在临时表中取出第一条数据 sql语句如下: select top 1 * from(se ...
- for循环往Oracle中插入n条数据,主键自增
1.主键自增实现方法:http://www.cnblogs.com/Donnnnnn/p/5959871.html 2.for循环往Oracle中插入n条数据 BEGIN .. loop insert ...
- 使用JDBC向数据库中插入一条数据
原谅我是初学者,这个方法写的很烂,以后不会改进,谢谢 /** * 通过JDBC向数据库中插入一条数据 1.Statement 用于执行SQL语句的对象 1.1 通过Connection 的 * cre ...
- 方法:查询MongoDB数据库中最新一条数据(JAVA)
使用JAVA语言查询MongoDB中某个数据库某个集合的最新一条数据: MongoCollection<Document> cpu = MongoClient.getDatabase(&q ...
- Bag标签之删除书包中的一条数据
删除书包中的一条数据 查询 <esql module=help id=list> Select ID,Subject,Writer,DayTime From Messages </e ...
- [MSSQL]找出一天数据中从第一条数据开始每累加1小时的数据
用Sql Server找出一天数据中从第一条数据开始每累加1小时的数据 -- ============================================= -- Author: Alle ...
- 关于如何在mysql中插入一条数据后,返回这条数据的id
简单的总结一下如何在mysql中出入一条数据后,返回该条数据的id ,假如之后代码需要这个id,这样做起来就变得非常方便,内容如下: <insert id="insertAndGetI ...
- Oracle-创建新表,创建备份表,对表中插入多条数据
一.创建新表 0.基本语法 create table 表名称(id varchar2(50) primary key ,name char(200) not null,phone number(11) ...
随机推荐
- buf.compare()
buf.compare(otherBuffer) otherBuffer {Buffer} 返回:{Number} 比较两个 Buffer 实例,无论 buf 在排序上靠前.靠后甚至与 otherBu ...
- <struct、union、enum>差异
关于C++和C的区别 区别最大的是struct,C++中的struct几乎和class一样了,可以有成员函数,而C中的struct只能包含成员变量. enum,union没区别. struct的定义 ...
- Spring Boot 2 (三):Spring Boot 开源软件都有哪些?
016年 Spring Boot 还没有被广泛使用,在网上查找相关开源软件的时候没有发现几个,到了现在经过2年的发展,很多互联网公司已经将 Spring Boot 搬上了生产,而使用 Spring B ...
- jsp+servlet+mysql增删改查
用的IntelliJ IDEA开发的,jdk1.8 1 首先是项目结构,如下图所示 2看各层的代码 首先是web.xml <?xml version="1.0" encodi ...
- 60. Spring Boot写后感【从零开始学Spring Boot】
从2016年4月15日到2016年7月20日经历长达3个月的时间,[从零开始学习Spring Boot]系列就要告一段落了.国内的各种资源都比较乱或者是copy 来copy去的,错了也不加以修正下,导 ...
- HDU 4745 最长回文子序列
题目大意 两只青蛙朝不同方向条,每次都到达值相同的位置,不能重复到达自己到过的地方,且不能飞跃已到过的地方 我们可以理解为这两只青蛙分别把整个序列遍历了一遍,依次走过所有的点,找到最多相同的点的个数, ...
- [luoguP1410] 子序列(DP)
传送门 发现一个结论. 只要存在长度>=3的非严格下降子序列就是NO,反之就是YES #include <cstdio> #include <iostream> #def ...
- [K/3Cloud] 单据转换插件执行顺序
1.下推事件及顺序 //初始化变量 OnInitVariable(InitVariableEventArgs e) //解析字段映射关系,并构建查询参数.这里可以加入你想要的额外的字段 OnQuery ...
- 洛谷 P1708 天然气井
P1708 天然气井 题目描述 Mary试图控制成都的天然气市场.专家已经标示出了最好的天然气井和中转站在成都的地图.现在需要将中转站和天然气井连接起来.每个中转站必须被连接到正好一个钻油井,反之亦然 ...
- easyui datagrid-detailview 嵌套高度自适应
实现效果 原因 异步加载,明细展开时,可能会遇到父列表不能自动适应子列表高度的变化 具体代码 $('#centerdatagrid').datagrid({ url:'${ctx}/offer/off ...