2014-08-27 107 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

只需將單個'='更改爲'=='即可。你會得到結果。