I a dû mettre en évidence les boîtes déroulantes (sélectionnez les éléments) contient les mêmes valeurs (valeur sélectionnée).
Alors j'ai juste changé quelques choses.
function validate() {
var inputs = $('select[id^="select_style"]');
var values = $.map(inputs, function(n, i) {
if(n!=undefined)
return n.value+'-'+n.id;
});
values = unique(values);
for(si=0;si< values.length;si++)
{
jQuery('#'+values[si]).css('background-color','#ff0000')
}
}
// I a changé fonction unique un peu, maintenant il retournera un tableau contenant ids de
// éléments qui contient les mêmes valeurs
function unique(arr)
{
//arr contains array of value1-id1,value2-id2,value3-id3....
var arrId=new Array();
var arr1=new Array();
var dIdArr=new Array();//dIdArr array containing ids of elements which contains
//duplicate values
for(j=0;j< arr.length;j++)
{
var sa=arr[j].split('-');
arr1[j]=sa[0];
arrId[j]=sa[1];
}
var r = [],l=0;
o:for(var i = 0, n = arr.length; i < n; i++)
{
for(var x = i + 1 ; x < n; x++)
{
if(arr1[x]==arr1[i])
{
if(jQuery.inArray(arrId[x],dIdArr)==-1)//not found in the array
//then assign in the array
{
dIdArr[l]=arrId[x];
l++;
if(jQuery.inArray(arrId[i],dIdArr)==-1)
{
dIdArr[l]= arrId[i];l++;}
}
else if(jQuery.inArray(arrId[i],dIdArr)==-1){
dIdArr[l]=arrId[i];
l++;
}
continue o;
}
}
r[r.length] = arr1[i];
}
return dIdArr;
}
merci. J'essayais votre code, mais var entrées retourne false dans le débogage suivant de votre code. var inputs = $ ('input: text [id^= "pics"]'); alert ('here1:' + entrées); –
rien ne va. Il me manquait l'attribut de nom –
@josh - jetez un oeil ici http://jsbin.com/ivigo. ajouter/modifier à l'url si vous voulez voir le code –