2014-08-27 64 views
0

我有一个窗体,有多个输入字段的列。jquery查找匹配表单条目

当用户在字段中输入ID时,我想检查另一个字段是否具有相同的ID条目。

我正在使用专注并查看所有字段与匹配的类,除了我目前离开的字段。

这是我到目前为止有:

<table> 
<tbody> 
<tr><th>ID</th></tr> 
<tr><td><input type='text' name='uid[]' id='uid' class='uid' value='213'></td></tr> 
<tr><td><input type='text' name='uid[]' id='uid' class='uid' value='456'></td></tr> 
<tr><td><input type='text' name='uid[]' id='uid' class='uid' value='951'></td></tr> 
</tbody> 
</table> 


$('input[class="uid"]').focusout(function() { 
    var check = ($(this)).val(); 

    $('input[class="uid"]').not($(this)).each(function(index){ 
     var test = $(this).val(); 
     if (check = test) alert('Match'); 
     }); 
}); 

我创建了一个FIDDLE,显示这一点。

我的问题是匹配显示每个条目,不仅用于匹配的条目。

我做错了什么?如何使用来自我刚刚编辑的字段中的值针对同一类的所有其他字段检查匹配项。 ?

也有可能突出两个匹配字段?然后在他们不再匹配时清除它们?

感谢

回答

1

您应该使用===进行比较,而不是=

此外,

$('input[class="uid"]').not($(this)) 

可以

$('.uid').not($(this)) 

Updated fiddle

+0

感谢,似乎很好。可以突出显示两个匹配字段?原始帖子已更新。 – Rocket 2014-08-27 10:26:22

1

更换您应该使用==进行比较。

但是,比你有一个无尽的循环。

0

只需将单个'='更改为'=='即可。你会得到结果。