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

如何用jQuery查找输入值相同的表格行,填入EQUAL并高亮对应tr

实现思路

你可以先对所有数据行按「品牌+车型」分组,只要分组内的行数≥2,就统一处理组内所有行的第一列输入和行高亮,就能覆盖所有匹配的行,不会遗漏。


完整实现代码

可选CSS(比行内样式更易维护)

tr.highlight {
  background-color: red;
}

JS逻辑

// 用于按car+model分组存储对应行
const rowGroups = {}

// 遍历所有数据行(跳过表头行)
$('table tr:gt(0)').each(function() {
  const $tr = $(this)
  const car = $tr.find('.car').val().trim()
  const model = $tr.find('.model').val().trim()
  // 用car+model做唯一分组key,担心分隔符冲突可以替换为JSON.stringify([car,model])
  const groupKey = `${car}||${model}`
  
  if (!rowGroups[groupKey]) {
    rowGroups[groupKey] = []
  }
  rowGroups[groupKey].push($tr)
})

// 遍历所有分组,处理重复的组
Object.values(rowGroups).forEach(group => {
  if (group.length >= 2) {
    group.forEach($tr => {
      // 不想加CSS类可以替换为 $tr.css('background-color', 'red')
      $tr.addClass('highlight')
      $tr.find('.equal').val('EQUAL')
    })
  }
})

原有代码问题说明

  1. nextAll('tr').find(".car").val() 只会取后续所有行里第一个.car输入框的值,无法匹配非相邻的相同行
  2. 只会给当前行设置EQUAL,不会处理后续匹配到的相同行,会漏掉另一半匹配项

内容的提问来源于stack exchange,提问作者tonydeleon

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 09:15:03