2012-04-14 21 views

答えて

1
var inputs=[], flag=false; 
$('input').each(function(){ 
    if ($.inArray(this.value, inputs) != -1) flag=true ; 
    inputs.push(this.value); 
}); 

if (flag==true) { 
    //duplicates exists 
} 
+2

OPはjQueryを使用していますか? –

+0

あまりにも多くの応答がとても素早く、うまくいきました:私はこの2つを試しましたが、このシンプルさは死んでいました。完璧!ありがとう百万adeneo :) – Aaron

-1

使用は、この

var areUnique = true; 
$.each($("Input_Selector",function(){ 
var val = $(this).val(); 
    $.each($("Input_Selector",function(){ 
    if(val == $(this).val()){areUnique = false;} 
    }); 
})); 
//check the value of areUnique here 
+0

最初のループの中のareUniqueの値をチェックすることで、効率が向上する可能性があります。 – Alex

+0

構文が壊れています。 –

0

検証の問題のようです。あなたは奇妙な方法で(配列の中のすべての入力を追加して、whileループの中でそれらをチェックしようとするif節の重い束で、私が望んでいないと思います)。あるいは、もしそれらの入力が文字列なら、それらを連結して正規表現で何かを試すことができます。

これ以上の回答があり、ここで召喚された方がよいでしょう。

0

http://jsfiddle.net/PF4rD/

function uniqueValues(elements) { 

    var values = {}, 
     len = elements.length, 
     i = 0; 

    for (; i < len; i++) { 
     if (!values[elements[i].value]) values[elements[i].value] = true; 
     else return false; 
    } 
    return true; 
}; 
場合
関連する問題