日期:2014-05-16  浏览次数:20336 次

如何判断页面上面的控件数组是否有相同的值
页面代码如下:
<input   name= 'mob[] '     type= 'hidden '   value= '1 '   />
<input   name= 'mob[] '     type= 'hidden '   value= '2 '   />
<input   name= 'mob[] '     type= 'hidden '   value= '3 '   />
<input   name= 'mob[] '     type= 'hidden '   value= '4 '   />
<input   name= 'mob[] '     type= 'hidden '   value= '5 '   />
<input   name= 'mob[] '     type= 'hidden '   value= '1 '   />
如何通过javascript判断这些控件数组是否拥有相同的值

------解决方案--------------------
var obj = document.getElementsByName( 'mob[] ');

for(var i = 0, l = obj.length-1; i < l; i++){
for(var j = 1,k=obj.length;j < k;j++){
if (obj[i].value == obj[j].value)
{
alert( '有重复值 ');
}
}
}
------解决方案--------------------
再加一层循环
<input name= 'mob[] ' type= 'hidden ' value= '1 ' />
<input name= 'mob[] ' type= 'hidden ' value= '2 ' />
<input name= 'mob[] ' type= 'hidden ' value= '3 ' />
<input name= 'mob[] ' type= 'hidden ' value= '4 ' />
<input name= 'mob[] ' type= 'hidden ' value= '5 ' />
<input name= 'mob[] ' type= 'hidden ' value= '1 ' />
<script language=javascript>
var objs=document.getElementsByName( "mob[] ")
for(var j=0;j <objs.length;j++)
for(var i=0;i <objs.length;i++)
{
if(objs[i].value==objs[j].value){
alert( "存在相同值 ");
return;
}
}
</script>

------解决方案--------------------
水火 那个不管值是多少就可以的

只要其中有2个相同的就会是false,
temp[objs[i].value]= '1 '或其他都可以的
你仔细看看代码想想
如果没有相同的项,如下,所形成的temp数组就和document.getElementsByName( "mob[] ")
的长度一样

temp[1]= '1 '
temp[2]= '1 '
temp[3]= '1 '

如果有相同的项,temp数组长度就会比ocument.getElementsByName( "mob[] ")
数组短了,有2个是一样的了
temp[1]= '1 '
temp[2]= '1 '
temp[1]= '1 '