JS将table中的td标签值去重

JS 将table中的TD标签值去重

有的时候将ACTION传过来的对象在页面进行遍历,会发现有的值是重复的.

比如数据是这样的

{name:'李磊',age:20}

{name:'李磊',age:21}

{name:'李磊',age:22}

当我们不能采取在后台进行数据处理.我们就可以在jsp页面对数据进行去重.

直接上代码:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ page import="java.util.*"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
 
<%
    
List<String> names = new LinkedList<String>(); // List
names.add("奥斯卡;大健康;奥斯卡");
names.add("王彪;李磊;李磊");
names.add("陈雷;陈雷");
request.setAttribute("names", names); // 添加到request
%>
<html>
  <head>
    <base href="<%=basePath%>"> 
    <title>测试页面</title>
   </head>
   <script type="text/javascript" src="<%=basePath%>/js/jquery/jquery-1.8.3.min.js"></script>   
   <script type="text/javascript" >
   
   
   
   
   
   
   </script>
  <body >
    <table width="100%" border="0" cellpadding="30" cellspacing="10" >
   		<tr >
       		<td align="center"><h1>车型库</h1></td>
       	</tr>
    </table>
    
	<table width="100%" border="1" cellpadding="10" cellspacing="10" id="tableid">
	    <tr>
	        <th>username</th>
	    </tr>
	    <c:forEach var="name" items="<%= names %>" varStatus="status">
    	<tr align="center">
    		<td class="mouse_hover">
    			<c:out value="${name}" />
    			<input type="hidden" name="search" value="${status.last}"/>
    		</td>
    		
    	</tr>	
		</c:forEach>
		
	</table>



  </body>
  <script language="javascript" >   
    function dataUpdate(){     
    	var tableObj = document.getElementById("tableid");
    	//在此处修改i和j的初始值,可指定行和列进行数据去重.
	    for (var i = 0; i < tableObj.rows.length; i++) {    //遍历Table的所有Row
	        for (var j = 0; j < tableObj.rows[i].cells.length; j++) {   //遍历Row中的每一列
	            var value = Trim(tableObj.rows[i].cells[j].innerText);
			    Array.prototype.unique3 = function(){
					 var res = [];
					 var json = {};
					 for(var i = 0; i < this.length; i++){
					 	if(!json[this[i]]){
					   		res.push(this[i]);
					   		json[this[i]] = 1;
					  	}
					 }
					 return res;
				}
			    var arr = value.split(";");
			    tableObj.rows[i].cells[j].innerHTML = arr.unique3();
	        }
	    }
    };  
  
   
   function Trim(str) { 
		str = str.replace(/<\/?.+?>/g,""); 
		str = str.replace(/[\r\n]/g, ""); 
		str = str.replace(/\s+/g, ""); 
		str = str.replace(/^\s*/g,""); 
		str = str.replace(/\s*$/g,""); 
		str = str.replace(/(^\s*)|(\s*$)/g, ""); 
		str = str.replace(/\s/g,"");  
		return str;
	} 
   var els =document.getElementsByName("search");
   for (var i = 0, j = els.length; i < j; i++){
   	if(els[i].value == "true"){
   		dataUpdate(); 
   	}
   }
</script>  
</html>



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值