2014-10-05 141 views
1

我想使用jQuery不允许提交表单,如果具有相同类的两个表单项具有相同的值。但是,我无法让它工作。这是我一直想:无论如何检查类值是否相同

$(document).ready(function(){ 
    $("#myform").submit(function(){ 
     var tempvar; 
     var count; 
     var start = 0; 
     var legit = true; 
     $(".inputclass").each(function(index){ 
      count = 0; 
      tempvar = this.val(); 
      $(".inputclass").each(function(index){ 
       if (tempvar == $(this).val()){ 
        count++; 
       } 
      }); 

      if (count > 1){ 
       legit=false; 
      } 
     }); 
     return legit;  
    });  
});  

的形式将提交是否两个值是相同的,而我似乎无法找出原因。

回答

2

我认为这个问题是下面:

tempvar = this.val(); 

tempvar = $(this).val(); 

希望这将有助于替换此!

0

你不能只是如果有两个以上的输入,最后一个比较新的输入值,但如果它已经在阵列和行为中是否存在可以轻松编写类值到一个数组,每个价值进行检查因此:

示例代码:

var list = new Array(); 

$(".inputclass").each(function(index){ 
    var inputValue = $(this).val(); 
    if(inArray(inputValue, list)!= -1) 
     list.push(inputValue); 
    else 
     alert("Value "+inputValue+" already exists!"); 
}); 
+0

你们为什么不使用括号内为的if-else?只是好奇而已。是因为你觉得它更具可读性,还是因为你必须输入较少,或者因为代码较少? – myfunkyside 2014-10-05 04:47:04

+0

@myfunkyside,好吧,只要有一条指令就可以了!但你仍然可以总是使用括号的条件! ;) – goseo 2014-10-05 04:49:53

+0

这就是为什么我问,它不会出于习惯,因为一旦你有多行代码,无论如何你都需要这些括号。那么你为什么这样做? (和许多其他人一样,但你只能为自己回答) – myfunkyside 2014-10-05 04:55:44