2012-04-14 14 views

Antwort

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

Verwendet OP jQuery? –

+0

Wow, so viele Antworten so schnell: p Ich habe ein paar von ihnen ausprobiert, bis ich diesen hier getroffen habe und es einfach war. PERFEKT! Danke eine Million Adeneo :) – Aaron

-1

Verwendung dieses

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

Sie könnten möglicherweise die Effizienz verbessern, indem Sie den Wert von areUnique innerhalb der ersten Schleife überprüfen und brechen, wenn er falsch ist. – Alex

+0

Ihre Syntax ist gebrochen. –

0

Es scheint ein Problem bei der Validierung zu sein. Sie können auf die seltsame Art und Weise (mit einer großen Menge von if-Klauseln, was ich nicht für wünschenswert halte) tun und versuchen, alle diese Eingaben in einem Array hinzuzufügen und sie innerhalb einer while-Schleife zu überprüfen. Oder, wenn diese Eingaben Strings sind, können Sie sie mit context versehen und etwas mit regexps versuchen.

Es sollte mehr Antworten dafür geben, und sicher besser, dass der hier beschworen hat.

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; 
}; 
Verwandte Themen