Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用jQuery在数组中查找重复值?_Jquery - Fatal编程技术网

如何使用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中输入值时,工作正常,但当我输入文本字段和提交值时,值为空