使用jquery在html表中查找重复项

时间:2011-09-13 06:59:12

标签: jquery

我有一个html表,其行是通过单击添加按钮添加的。该行将包含4个下拉列表 产品类型,产品描述,来源,目的地1,目的地1

如何限制这些组合不会在任何行中重复。

1 个答案:

答案 0 :(得分:1)

以下代码只是一个检查;它不会动态更改内容以使其适应用户更改。

使用您提供的html,功能如下:

function check(){
   var currentState=[],
       isGood=true,
       text;
   $("#dataFieldTable tr").each(function(index,element){
      if(index !==0){
          text=$(":selected",element).text();
          if(currentState.indexOf(text)!=-1){
              isGood=false;
              return false;
          }
          currentState.push(text);
      }
   });
   alert(isGood);
   return isGood;   
}

它的作用如下:

  • 选择表格中的所有<tr>标记
  • 迭代我们要检查的tr(在我的例子中,除了带标题的那个,我把它们全部拿走了,但它很容易改变,它只是if(index !==0)
  • 抓住行中所有选定的元素
  • 连接文字值
  • 检查它是否与前一个
  • 不同
  • 如果不同,请检查下一个......
  • 如果不是,那就结束了。
  • 根据结果返回true或false(并提醒它)。

就是这样。

您可以在此处看到它:http://jsfiddle.net/uQGGW/1/

如果单击检查行,如果所有行都不同,则会发出警告,而其他行则为false。

希望有所帮助。