判断一列中的单元格内容是否有重复

判断一列中的单元格内容是否有重复:
本章节介绍一下如何判断一个指定的列中的所有单元格中是否有单元格内容重复的,可能在实际应用中很少有这样的需求,不过可以作为一种参考思路,以便于解决其他的问题,代码实例如下:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset=" utf-8"> 
<meta name="author" content="http://www.softwhy.com/" /> 
<title>蚂蚁部落</title> 
<style type="text/css"> 
.table{ 
  width:300px; 
  height:100px; 
  border:1px solid #ccc; 
  border-collapse:collapse; 
} 
.table td,.table th { 
  border:1px solid #ccc; 
  padding:5px; 
} 
</style> 
<script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script> 
<script type="text/javascript">
function hasRepeat(objId,columnIndex){ 
  var arr=[]; 
  $("#"+objId+" tbody tr").each(function(){ 
    arr.push($("td:eq("+columnIndex+")",this).text()); 
  }); 
  if(arr.length==$.unique(arr).length ){ 
    return false; 
  }
  else{ 
    return true; 
  } 
} 
$(document).ready(function(){
  if(hasRepeat("tb",1)){
    $("#show").text("有重复的单元格");
  }
  else{
    $("#show").text("没有重复的单元格");
  }
})
</script>
</head>
<body>
<div id="show"></div>
<table class="table" id="tb"> 
  <thead> 
    <tr> 
      <th>蚂蚁部落一</th> 
      <th>分享互助</th> 
    </tr> 
  </thead> 
  <tr> 
    <td>javascript教程</td> 
    <td>蚂蚁部落二</td> 
  </tr> 
  <tr> 
    <td>HTML教程</td> 
    <td>蚂蚁部落二</td> 
  </tr> 
</table> 
</body>
</html>

以上代码实现了我们的要求,下面介绍一下它的实现过程。
一.代码注释:
1.function hasRepeat(objId,columnIndex){},第一个参数是表格的id属性值,第二个参数是列的索引值,第一列是0。
2.var arr=[],声明一个空数组,用来存储,指定列的所有单元格的文本内容。
3.$("#"+objId+" tbody tr").each(function(){}),遍历table表格的每一个行。
4.arr.push($("td:eq("+columnIndex+")",this).text()),将每一个行指定列的单元格中的内容写入数组。
5.if(arr.length==$.unique(arr).length ){return false;},如果数组的长度和去重后的数组长度相同,那么说明原来的数组中没有重复的,那么就返回false,否则返回true。
二.相关阅读:
1.each()函数可以参阅jQuery的each()方法一章节。 
2.:eq()选择器可以参阅jQuery的:eq()选择器一章节。 
3.push()函数可以参阅javascript的Array对象的push()方法一章节。 
4.text()函数可以参阅jQuery的text()方法一章节。
5.$.unique()函数可以参阅jQuery.unique()方法一章节。

原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=13846

更多内容可以参阅:http://www.softwhy.com/jquery/

你可能感兴趣的:(判断一列中的单元格内容是否有重复)