2 qq 21223653 qq_21223653 于 2016.05.11 08:58 提问

使用<c:forEach 遍历后台传来的数据成table,删除行后怎么确保行号自动排序? 1C

这是开头的部分:

<tbody id="add_OmsPurchaseCheck_table"> 
    <c:if test="${fn:length(OmsPurchaseCheckModelList)  > 0 }">
    <c:forEach items="${OmsPurchaseCheckModelList}" var="poVal" varStatus="stuts"> 
        <tr>
            <td align="center"><div style="width: 20px;" name="xh">${stuts.index+1 }</div></td>
            <td align="center"><input style="width:15px;"   type="checkbox" name="id" value="${poVal.id}" /></td>

5个回答

u011892089
u011892089   2016.05.11 09:17

用js控制吧,每次删除动作的时候绑定一个function,js查找表格有几行,然后重新填充下行号

u011892089
u011892089 改变之后的变量想传到后台,用form或者ajax传吧
大约 2 年之前 回复
qq_21223653
qq_21223653 嗯啊,我只能用js来做,做好了。但是向后台传数据的时候OmsPurchaseCheckModelList的长度(size)没有变,比如以前是两个数据,我删了一个,但是向后台依旧得到长度是2
大约 2 年之前 回复
caozhy
caozhy   Ds   Rxr 2016.05.11 09:09

两个办法,一个是在数据库端查询出行号,一个是定义一个自增的变量,循环+1输出

fubo1990
fubo1990   2016.05.11 09:34

后台查处列表时候就按id排序。 然后每个tr上添加一个属性 trId=${poVal.id} 删除改行即可

chenhchen1994
chenhchen1994   2016.05.11 10:01

设置一个变量,用来记录排序,每次循环一次+1

chenhchen1994
chenhchen1994 回复qq_21223653: 应该不会啊,当你删除一条的时候,OmsPurchaseCheckModelList 会减1的 ,可能是你删除的时候有问题,或者你传值的时候,没有传好。
大约 2 年之前 回复
qq_21223653
qq_21223653 嗯啊,我只能用js来做,做好了。但是向后台传数据的时候OmsPurchaseCheckModelList的长度(size)没有变,比如以前是两条数据,我删了一个,但是向后台依旧得到长度是2
大约 2 年之前 回复
qq_21223653
qq_21223653   2016.05.11 10:27

嗯啊,我只能用js来做,做好了。但是向后台传数据的时候OmsPurchaseCheckModelList的长度(size)没有变,比如以前是两条数据,我删了一个,但是向后台依旧得到长度是2

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
<display:table>和<c:forEach>的自增排序号
1.<c:forEach>的自动序号:<!-- c:forEach中的varStatus属性。指向一个字符串,该字符串引用一个对象。 map.put("vs",一个对象);这个对象记录着当前遍历的元素的一些信息: getIndex():返回索引。从0开始 getCount():返回计数。从1开始 isLast():是否是最后一个元素 isFirst():
前台接收后台传过来的list进行遍历,然后根据表格用合并rowspan列
将数据以表格的信息进行展示,但是两行的开头要进行合并,可以用好多方法,下面是其中的一种: 后台代码(我进行了简化): ModelAndView mv = new ModelAndView("页面路径"); List list = this.meetFindManager.findMeetInfoList(); mv.addObject("list", list); return mv;
前台遍历数组,后台foreach循环添加
前台实现将复选框的值保存到数组中,后台用list进行传值,mybatis中用foreach遍历循环添加或更新. 前台jsp代码: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> /jquery-easyui-1.5.1/themes/defaul
如何使用c标签将数据库数据用forEach依次展现出来
c:forEach var="pcQzShortcut" items="${list}" varStatus="status"> div class="jbz-eve"> div class="ibox-title"> h5>便道${status.index}+1h5> button type="button" class="btn1 btn-sm btn-
使用c标签的forEach遍历展现数据库主表与从表的数据
首先,数据库有两个表,A表的ID(主键)是B表的外键,A表的一条数据可能对应B表的一条或多条数据,即A1→ B1、B2、B3... 功能需求是将A表的数据与A表对应的B表的数据显示出来,这就需要用到C标签,并且这里需要C标签的套用。 后台通过Map将值传到前台,后台代码如下: @RequestMapping("index") public String turnToPage(HttpSe
Jsp遍历后台传过来的List三种方法
1:使用jstl标签 (可以和自定义标签配合使用) 首先引用jstl标签 [html] view plaincopy %@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>   然后使用foreach标签 [html] view plaincop
jstl使用foreach 循环遍历输出表格和数据
问题开发中,如果使用jstl使用foreach循环的时候出现遍历的内容界面乱版,如果不用css 样式控制一下的话可以通过遍历输出表格的方式来控制 办法 <c:forEach items="${bills}" var="item" varStatus="t" step="3"> <tr> <c:if test="${t.coun
javascript开发系列(table操作,table增加一行,删除一行,取行号,列号)
增加删除:insertRow,deleteRow, insertCell,deleteCell,行号,列号:rowIndex ,cellIndex。实例:http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">http://www.w3.org/1999/xhtml">    无标题页            table {
表格删除某行后行号不连续问题解决办法
ExtJS自带表格组件中的行号,  new Ext.create('Ext.grid.RowNumberer',{'text':'行号',flex:1}), var tagGrid=Ext.create('Ext.grid.Panel',{ hidden:true, store:tagStore, viewConfig:{ columnsText: '列'
Jsp中 table 使用<c:forEach>实现各行3个,之后自动换行
status"> ${att.attributeName }: ${att.valueName}