我有一个在列中有多个输入字段的表单。
当用户在字段中输入ID时,我想检查另一个字段是否具有相同的ID条目。
我使用 focusout 执行此操作并查看匹配类的所有字段,但我目前正在离开的字段除外。
这是我到目前为止所做的:
<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 。
我遇到的问题是每个条目都会显示MATCH,而不仅仅是匹配条目。
我做错了什么?如何使用我刚刚针对同一类的所有其他字段编辑的字段中的值来检查匹配项。 ?
是否可以突出显示两个匹配的字段?一旦它们不再匹配就清除它们?
由于
答案 0 :(得分:1)
您应该使用===
进行比较而不是=
。
另外,
$('input[class="uid"]').not($(this))
可以替换为
$('.uid').not($(this))
答案 1 :(得分:1)
您应该使用==
进行比较。
但是你得到了无限循环。
答案 2 :(得分:0)
只需将单个'='更改为'=='即可。你会得到结果。