如果ALL具有相同的值,如何比较同一表单中的多个输入?我需要检查它们是否都具有相同的值.
<input type="text" class="inputclass"/>
<input type="text" class="inputclass"/>
<input type="text" class="inputclass"/>
<input type="text" class="inputclass"/>
<input type="text" class="inputclass"/>
....
Run Code Online (Sandbox Code Playgroud)
试试这个:
var arr = $("input.inputclass").map(function(){
return $(this).val();
}).toArray();
var allHaveSameValue = $.unique(arr).length == 1;
Run Code Online (Sandbox Code Playgroud)
这是jsfiddle.net http://jsfiddle.net/epignosisx/jzWUA/4/
UPDATE ======
正如@Anurag指出的那样,$ .unique仅适用于DOM元素.这是一个不同的实现:
function uniqueArray(arr){
return $.grep(arr,function(v,k){
return $.inArray(v,arr) === k;
});
}
var arr = $(".inputclass").map(function(){
return $(this).val();
}).toArray();
var allHaveSameValue = uniqueArray(arr).length == 1;
Run Code Online (Sandbox Code Playgroud)
基本上使用一个真正返回唯一数组的函数.