一:将一列的内容放到一个数组中,通过$.unique()函数对数组进行去重,根据去重前后数组的长度来判断是否存在数据重复。
function hasRepeat(objId,columnIndex){
var arr = [];
$("#"+objId+" tbody tr").each(function(){
arr.push( $("td:eq("+columnIndex+")",this).text() );
});
if( arr.length==$.unique( arr ).length ){
return false;
}else{
return true;
}
}
//调用
alert( hasRepeat(tableID,列索引)==1?"有重复":"无重复" );
ps:$.unique()这个函数1.4版本后这样使用是可以的。
二:使用选择器选择除了本身之外的input,一一遍历、对比值是否相等。
在每个input上都有个焦点事件queryCar:
<input type="text" name="allocationCar.vin" value="" onblur="queryCar(this)" class="form-control">
JavaScript方法:
function queryCar(obj) {
$("input[name$='vin']").not($(obj)).each(function(i,o){
if ($(obj).val() != "" && $(obj).val() == $(o).val()){
layer.alert("不可重复!");
$(obj).val("");
return;
}
});
}