0

好吧,我知道我想太多了,因为它根本不来找我。我有一组输入。我将如何检查以确保它们的值都是唯一的?谢谢!

4

5 回答 5

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
}
于 2012-04-14T21:31:41.743 回答
0

这似乎是一个验证问题。您可以以奇怪的方式(使用大量 if 子句,我猜这不是我们所希望的),尝试将所有这些输入添加到数组中并在 while 循环中检查它们。或者,如果这些输入是字符串,您可以连接它们并尝试使用正则表达式。

应该有更多的答案,而且肯定比召唤到这里的那个更好。

于 2012-04-14T21:30:15.457 回答
0

使用此伪集实现并检查每个条目是否已重复即迭代并检查,如果x in set返回 false

http://www.javascriptexamples.org/2011/01/17/how-to-implement-a-set-in-javascript/

于 2012-04-14T21:32:03.990 回答
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;
};
于 2012-04-14T21:52:57.287 回答
-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
于 2012-04-14T21:29:45.110 回答