如何使用jQuery在数组中查找重复值?
我有一些输入,它们的名称是一种形式的数组:如何使用jQuery在数组中查找重复值?,jquery,Jquery,我有一些输入,它们的名称是一种形式的数组: <input type="text" name="email[]" id="email" /> <input type="text" name="email[]" id="email" /> <input type="text" name="email[]" id="email" /> 等等 当我提交表单时,我需要在jQuery中进行检查,如果这个输入中有重复的值,有人能帮我吗 谢谢:)我想这样做: var v
<input type="text" name="email[]" id="email" />
<input type="text" name="email[]" id="email" />
<input type="text" name="email[]" id="email" />
等等
当我提交表单时,我需要在jQuery中进行检查,如果这个输入中有重复的值,有人能帮我吗
谢谢:)我想这样做:
var values = $('input[name="email[]"]').map(function() {
return this.value;
}).toArray();
var hasDups = !values.every(function(v,i) {
return values.indexOf(v) == i;
});
$('form').submit(function(e) {
if (hasDups) e.preventDefault();
});
另外,id应该是唯一的,就像人们在评论中说的那样。id在文档中必须是唯一的。@David Thomas,是的
id
在文档中也是唯一的看看我在上一篇评论中说的,然后看看你的HTML。特别是每个输入元素的id
属性。谢谢您的回答,但是hasDups
总是返回true,我放了不同的电子邮件,但返回true,为什么?对,我忘了…改成这个!values.each(function(){…
。现在可以正常工作了吗?嗯,现在总是返回false?是的,我检查了演示,我更改了值,例如我输入了两次三次和控制台返回false!问题在于值,当我在HTML中输入值时,工作正常,但当我输入文本字段和提交值时,值为空