【问题标题】:Find Duplicate Records in HTML Table在 HTML 表中查找重复记录
【发布时间】:2011-11-17 08:26:22
【问题描述】:
我正在使用 DataTable pulgin 并且对添加重复行有疑问。
当用户向 (HTML) 表添加记录时,我想检查该记录是否已存在于表中(在客户端)。
例如:
Column A
Row 1 ABC
现在如果用户尝试添加“ABC”,我想抛出错误。
谁能提供指针如何使用 jQuery 或 Datatables 实现这一点?
【问题讨论】:
标签:
javascript
jquery
datatables
【解决方案1】:
function findInTable(str, tableID){
$('#' + tableID + ' tr').each(function(){
$(this).children('td').each(function(){
if ( $(this).html() == str ){
alert('found');
return false;
}
});
});
}
findInTable('ABC', 'mytable'); // <table id="mytable">...</table>
【解决方案2】:
这应该可以解决您的问题。调整这个
<script type="text/javascript">
<!--
function cellContent() {
var content=document.getElementsByTagName('td');
for(c=0;c<content.length;c++) {
alert ('td cell number '+(c+1)+' contains...\n ' +content[c].innerHTML);
}
}
onload=cellContent;
//-->
</script>
【解决方案3】:
对于较小的表,有一种 hacky 方法可以做到这一点。将行转换为字符串,并将它们放在关联数组中,最适合单列表,并且有多种方法可以处理多列
因此假设您插入 ABC
if (tableData["ABC"] != undefined) tableData["ABC"] = 1;
else alert("Duplicate");
if 循环还应该负责将行添加到 UI