使用jQuery比较输入值

使用jQuery比较输入值,jquery,comparison,each,Jquery,Comparison,Each,我有一个有3个输入文件字段的表单。我想确保他们不会两次上传同一个文档。现在我的代码如下: $(':input.File').each(function() { if ($(this).val() == T) { $this.after('<br/><span class="error">Duplicate</span>'); } }) $(':input.File')。每个(函数(){ if($(this).val()==T)

我有一个有3个输入文件字段的表单。我想确保他们不会两次上传同一个文档。现在我的代码如下:

$(':input.File').each(function() {
    if ($(this).val() == T) {
        $this.after('<br/><span class="error">Duplicate</span>');
    }
})
$(':input.File')。每个(函数(){
if($(this).val()==T){
$this.after(“
Duplicate”); } })
代码可以工作,但我的问题是它总是抛出错误,因为它是在与自身进行比较。当我希望它比较除自身以外的所有文件字段时,它标识所有文件字段


是否有方法排除要比较的字段?基本上,我想检查除
$(this)
字段之外的所有文件字段值。

我感觉这就是您要查找的:


为了给你一个更具体的答案,我需要更多的代码上下文。(即,T是什么,代码是如何到达的,等等)

我感觉这就是您要寻找的:


为了给你一个更具体的答案,我需要更多的代码上下文。(即,T是什么,代码是如何到达的,等等)

创建一个空数组,然后遍历每个字段,检查该字段是否在数组中,如果没有,则添加它

var arr = [];

$(':input.File').each(function(){
    if(arr.indexOf($(this).val()) > -1){
        $(this).after("<br/><span class='error'>Duplicate</span> ");
    }else{
        arr.push($(this).val());
    }
})
var arr=[];
$(':input.File')。每个(函数(){
if(arr.indexOf($(this.val())>-1){
$(此)。之后(“
重复”); }否则{ arr.push($(this.val()); } })
创建一个空数组,然后遍历每个字段,检查该字段是否在数组中,如果没有,则添加它

var arr = [];

$(':input.File').each(function(){
    if(arr.indexOf($(this).val()) > -1){
        $(this).after("<br/><span class='error'>Duplicate</span> ");
    }else{
        arr.push($(this).val());
    }
})
var arr=[];
$(':input.File')。每个(函数(){
if(arr.indexOf($(this.val())>-1){
$(此)。之后(“
重复”); }否则{ arr.push($(this.val()); } })
如果您知道总会有至少一个副本,为什么不只允许一个副本呢

i = 0;
$(':input.File').each(function() {
    if ($(this).val() == T && i != 0) {
        $this.after('<br/><span class="error">Duplicate</span>');
    }

    i++;
})
i=0;
$(':input.File')。每个(函数(){
if($(this).val()==T&&i!=0){
$this.after(“
Duplicate”); } i++; })
如果您知道总会有至少一个副本,为什么不只允许一个副本呢

i = 0;
$(':input.File').each(function() {
    if ($(this).val() == T && i != 0) {
        $this.after('<br/><span class="error">Duplicate</span>');
    }

    i++;
})
i=0;
$(':input.File')。每个(函数(){
if($(this).val()==T&&i!=0){
$this.after(“
Duplicate”); } i++; })
您可以使用地图跟踪存在的值

(function(){
  var exists = {};
  $(':input.File').each(function() {
    if(exists[$(this).val()]){
      $this.after("<br/><span class='error'>Duplicate</span> ");
    } else {
      exists[$(this).val()] = true;
    }
  });
})()
(函数(){
var exists={};
$(':input.File')。每个(函数(){
if(存在[$(this).val()){
$this.after(“
副本”); }否则{ 存在[$(this).val()]=true; } }); })()
您可以使用地图跟踪存在的值

(function(){
  var exists = {};
  $(':input.File').each(function() {
    if(exists[$(this).val()]){
      $this.after("<br/><span class='error'>Duplicate</span> ");
    } else {
      exists[$(this).val()] = true;
    }
  });
})()
(函数(){
var exists={};
$(':input.File')。每个(函数(){
if(存在[$(this).val()){
$this.after(“
副本”); }否则{ 存在[$(this).val()]=true; } }); })()
对于每次用户操作后的检查:

$('input[type=file]')。更改(函数(){
$('input[type=file][value=“”+$(this.val()+”)。不是(this.after)(“
Duplicate”); });
对于每次用户操作后的检查:

$('input[type=file]')。更改(函数(){
$('input[type=file][value=“”+$(this.val()+”)。不是(this.after)(“
Duplicate”); });
我一定很胖,但是,
T
从哪里来?我一定很胖,但是,
T
从哪里来?为什么投反对票+1来补偿,因为这实际上是我建议的,但是有一个array@JuanMendes我也在想同样的事情,但现在已经过去了。为什么要投否决票+1来补偿,因为这实际上是我建议的,但是有一个array@JuanMendes我也在想同样的事情,但现在已经不见了。谢谢。工作很有魅力,谢谢你。工作得很有魅力。