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

By | 01月31日
Advertisement

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

<!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/

Similar Posts:

  • Excel2013表格中设置单元格内容对齐方式

    在Excel2013表格中如何设置单元格内容的对齐方式呢?在Excel的单元格中,如果只是输入简单的数据或文本内容可能一般是不需要对单元格设置对齐方式的.可当我们在Excel表格做数据处理的同时还需要做一些文字的描述编辑时,对文本的编辑就必不可少了. 对齐方式在表格中的文本编辑是少不了的,下面上好网以Excel2013为例,和大家一起学习怎么设置单元格中文本的对齐方式. 1.首先,我们启动Excel2013程序,再打开或新建一份表格. 2.在任意一个单元格中输入文字,然后再把单元格调大,如下图1

  • 表格单元格内容超出时显示省略号效果(实现代码)

    说明 在前端开发中,经常会遇到需要限制单元格宽度并且内容超出部分显示省略号的的情况.下面就简单的介绍下如何达到这种效果. 准备知识 1. 控制文本不换行 white-space: nowrap; 2. 超出长度时,出现省略号 overflow:hidden; text-overflow:ellipsis 3. 修改表格布局算法 table-layout:fixed;table-layout的默认值为automatic,意思是列宽度由单元格内容设定.而fixed意思是列宽由表格宽度和列宽度设定.

  • C# Winform 中验证DataGridView单元格内容

    C# Winform 中验证DataGridView单元格内容--限制单元格中只能输入数字 为避免在DataGridView的单元格中输入错误的数据类型导致保存错误,可以用下面代码解决: 1.先设置DataGridView只能输入数字的列的外观属性:(见图1) DefaultCellStyle为:DataGridViewCellStyle { NullValue=0, Format=N2} 其中,NullValue=0表示此单元格为空时的默认值为0,Format=N2则代表格式化 图1 2.然后

  • 如何实现双击GridView 单元格编辑单元格内容

    一.双击gridview行,执行服务器端按钮imgselect的事件 row.Attributes("ondblclick") = ClientScript.GetPostBackEventReference(ImgSelect, "click", True) 二.双击GridView 单元格编辑单元格内容 <%@ Page Language="C#" %> <%@ Import Namespace="System.D

  • JS使用for循环遍历Table的所有单元格内容

    JS遍历Table的所有单元格内容思路是遍历Table的所有Row,遍历Row中的每一列,获取Table中单元格的内容 function GetInfoFromTable(tableid) { var tableInfo = ""; var tableObj = document.getElementById(tableid); for (var i = 0; i < tableObj.rows.length; i++) { //遍历Table的所有Row for (var j

  • Excel如何合并单元格内容

    注意标题,说得是如何合并单元格“内容”,不是说如何合并单元格. 在日常工作中经常遇到,要把2个或者多个单元格的内容合并到一个单元格中去. 我们大家都知道,如果合并单元格的话,会有提示, 这样的话合并单元格以后,只保留了一个单元格(最左上角的那一个)的内容,其余单元格的内容都没了. 我们要做的是把2个单元格的内容合并到一个单元格内,即让2个单元格的内容在一个单元格内一起显示出来,通常有2中办法,都很简单. 第一种:您可以使用带有连接符号 (&) 运算符的公式将多个单元格的文本合并到一个单元格中.

  • Repeater多列分别合并单元格

    GridView.Repeater合并单元格可以参考http://www.cnblogs.com/zhmore/archive/2009/04/22/1440979.html,但是原文例子是合并一列的单元格. 现在有2列需要分别合并单元格,如下所示,"类型"和"操作"当有相同的值时要分别合并: 可以在原来的代码上稍做改动,前台代码如下: <asp:Repeater runat="server" ID="rptList"&

  • IE和火狐下获取单元格内容的共通方法

    IE和火狐下获取单元格内容所使用的方法是不一样的,IE用的innerText,而火狐是用contentText,可以通过下面所列的方法实现两个浏览器的通用.在使用时只需要把这两个函数放到JS文件的开始位置或其他JS方法之前就行.方法如下: function isIE(){ //ie? if (window.navigator.userAgent.toLowerCase().indexOf("msie")>=1) return true; else return false; }

  • [VB.NET]怎样才可以右击选中datagridview控件中的单元格(1000分问题)

    怎样才可以右击选中datagridview控件中的单元格(1000分问题) 我想实现像大部分音乐播放器的播放列表中右击弹出菜单的功能,如播放,删除等 但datagridview和listbox 控件都不支持右击选项中啊,怎么办啊 __________________________________________________________________________ 添加右键菜单 _____________________________________________________

  • Excel中合并单元格总是出现“不能清除剪贴板”,如何解决?

    Excel中合并单元格总是要出现"不能清除剪贴板",总是去除不掉,如下图所示: 现给出解决方法: 剪贴板是内存中的一块临时区域,用以存放从程序复制来的对象(如文本或图形).如果剪贴板中现存放的是一幅图画或相当篇幅的一段文本,则占用相当大的内存,可能导致内存不足.解决方法就是清除剪贴板中的内容,具体过程是: 1.单击"开始",指向"程序",指向"附件",指向"系统工具",单击"剪贴板查看程序&quo

Tags: