You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何检查HTML表格所有行列的单元格值 实现输入内容唯一性校验

表格输入重复校验实现方案

核心实现逻辑

我们需要先遍历表格已有的所有数据行(跳过表头行),将行内单元格值与用户输入内容做匹配,存在完全匹配的内容时直接弹出提示,无匹配内容再执行新行插入操作。

完整修改后代码

$(function(){
  $('#add').on('click',function(){
      // 获取输入值并去除首尾空格,避免空格导致的校验误差
      const field1 = $('#field1').val().trim();
      const field2 = $('#field2').val().trim();
      const field3 = $('#field3').val().trim();

      // 可选:新增非空校验,避免空内容插入
      if (!field1 || !field2 || !field3) {
        alert('请填写全部字段内容');
        return;
      }

      let isDuplicate = false;
      // 遍历所有数据行(排除第一行表头)
      $('#table tr:not(:first-child)').each(function() {
        const tds = $(this).find('td');
        // 提取当前行三个字段的值
        const rowVal1 = tds.eq(0).text().trim();
        const rowVal2 = tds.eq(1).text().trim();
        const rowVal3 = tds.eq(2).text().trim();
        // 三个字段完全匹配判定为重复
        if (rowVal1 === field1 && rowVal2 === field2 && rowVal3 === field3) {
          isDuplicate = true;
          // 终止遍历,减少性能消耗
          return false;
        }
      })

      if (isDuplicate) {
        alert('existed');
        return;
      }

      // 无重复则插入新行
      const newRow = `<tr><td>${field1}</td><td>${field2}</td><td>${field3}</td></tr>`;
      $('#table').append(newRow);
      // 可选:插入完成后清空输入框
      $('#field1, #field2, #field3').val('');
  });
});

校验规则扩展

如果你的需求是任意单个输入值不能和表格所有单元格内容重复,只需替换上述的遍历校验逻辑即可:

// 遍历表格所有单元格
$('#table td').each(function() {
  const cellText = $(this).text().trim();
  // 任意输入值和单元格内容匹配即判定为重复
  if (cellText === field1 || cellText === field2 || cellText === field3) {
    isDuplicate = true;
    return false;
  }
})

内容的提问来源于stack exchange,提问作者WEI ZHUANG GOH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 20:27:02