Добрый день. Помогите пожалуйста новичку.
Имеется страница с несколькими селектами id которых family_0_stat_fm, family_1_stat_fm, family_2_stat_fm и т.д., у каждого селекта одинаковые значения 1,2,3. Скрипт использую такой
<script type="text/javascript">
onload = function () {
document.getElementById("submit").onclick = yesChange;
};
function yesChange() {
var arr = new Array();
arr[0] = document.getElementById("family_0_stat_fm").value;
arr[1] = document.getElementById("family_1_stat_fm").value;
arr[2] = document.getElementById("family_2_stat_fm").value;
/*arr[3] = document.getElementById("family_3_stat_fm").value;
arr[4] = document.getElementById("family_4_stat_fm").value;
arr[5] = document.getElementById("family_5_stat_fm").value;
arr[6] = document.getElementById("family_6_stat_fm").value;
arr[7] = document.getElementById("family_7_stat_fm").value;
arr[8] = document.getElementById("family_8_stat_fm").value;
arr[9] = document.getElementById("family_9_stat_fm").value;
arr[10] = document.getElementById("family_10_stat_fm").value;
arr[11] = document.getElementById("family_11_stat_fm").value;
arr[12] = document.getElementById("family_12_stat_fm").value;
arr[13] = document.getElementById("family_13_stat_fm").value;
arr[14] = document.getElementById("family_14_stat_fm").value;
arr[15] = document.getElementById("family_15_stat_fm").value;
arr[16] = document.getElementById("family_16_stat_fm").value;
arr[17] = document.getElementById("family_17_stat_fm").value;
arr[18] = document.getElementById("family_18_stat_fm").value;
arr[19] = document.getElementById("family_19_stat_fm").value;*/
document.write(arr + '<br />');
//var f = 0;
var arr2 = [];
for (var i=0; i<arr.length; i++) {
for (var j=i+0; j<arr.length; j++) {
if (arr[i]==arr[j]) {
if(arr2[arr[i]]) {
arr2[arr[i]] += 1;
} else {
arr2[arr[i]] = 1;
}
arr.splice(j, 1)
j--;
}
}
}
for (key in arr2)
{
document.write(key + ' повторяется ' + arr2[key] + '<br />');
}
}
</script>
Скрипт срабатывает при нажатии кнопки "submit". Результат скрипта:
1,1,3
1 повторяется 2
3 повторяется 1
$family повторяется function (){return v; }
$constructor повторяется function Array() { [native code] }
each повторяется function (i,v){Array.forEach(this,i,v); return this;}
clone повторяется function (){var v=this.length,w=new Array(v); while(v--){w[v]=s(this[v]);}return w;}
clean повторяется function (){return this.filter(function(a){return a!=null;});}
invoke повторяется function (a){var b=Array.slice(arguments,1); return this.map(function©{return c[a].apply(c,b);});}
associate повторяется function ©{var d={},b=Math.min(this.length,c.length);for(var a=0;alink повторяется function ©{var a={};for(var e=0,b=this.length;econtains повторяется function (a,b){return this.indexOf(a,b)!=-1; }
append повторяется function (a){this.push.apply(this,a);return this;}
getLast повторяется function (){return(this.length)?this[this.length-1]:null;}
getRandom повторяется function (){return(this.length)?this[Number.random(0,this.length-1)]:null; }
include повторяется function (a){if(!this.contains(a)){this.push(a);}return this;}
combine повторяется function ©{for(var b=0,a=c.length;berase повторяется function (b){for(var a=this.length;a--;){if(this[a]===b){this.splice(a,1);}}return this;}
empty повторяется function (){this.length=0;return this;}
flatten повторяется function (){var d=[]; for(var b=0,a=this.length;bpick повторяется function (){for(var b=0,a=this.length;bhexToRgb повторяется function (b){if(this.length!=3){return null; }var a=this.map(function©{if(c.length==1){c+=c;}return c.toInt(16);});return(b)?a:"rgb("+a+")";}
rgbToHex повторяется function (d){if(this.length<3){return null;}if(this.length==4&&this[3]==0&&!d){return"transparent"; }var b=[];for(var a=0;a<3;a++){var c=(this[a]-0).toString(16);b.push((c.length==1)?"0"+c:c);}return(d)?b:"#"+b.join("");}
extend повторяется function (a){this.push.apply(this,a);return this;}
min повторяется function (){return Math.min.apply(null,this); }
max повторяется function (){return Math.max.apply(null,this);}
average повторяется function (){return this.length?this.sum()/this.length:0;}
sum повторяется function (){var b=0,c=this.length; if©{while(c--){b+=this[c];}}return b;}
unique повторяется function (){return[].combine(this);}
shuffle повторяется function (){for(var c=this.length;c&&--c;){var b=this[c],d=Math.floor(Math.random()*(c+1)); this[c]=this[d];this[d]=b;}return this;}
rgbToHsb повторяется function (){var c=this[0],d=this[1],k=this[2],h=0;var j=Math.max(c,d,k),f=Math.min(c,d,k);var l=j-f;var i=j/255,g=(j!=0)?l/j:0; if(g!=0){var e=(j-c)/l;var b=(j-d)/l;var m=(j-k)/l;if(c==j){h=m-b;}else{if(d==j){h=2+e-m;}else{h=4+b-e;}}h/=6;if(h<0){h++;}}return[Math.round(h*360),Math.round(g*100),Math.round(i*100)]; }
hsbToRgb повторяется function (){var d=Math.round(this[2]/100*255);if(this[1]==0){return[d,d,d];}else{var b=this[0]%360;var g=b%60;var h=Math.round((this[2]*(100-this[1]))/10000*255); var e=Math.round((this[2]*(6000-this[1]*g))/600000*255);var c=Math.round((this[2]*(6000-this[1]*(60-g)))/600000*255);switch(Math.floor(b/60)){case 0:return[d,c,h]; case 1:return[e,d,h];case 2:return[h,d,c];case 3:return[h,e,d];case 4:return[c,h,d];case 5:return[d,h,e];}}return false;}
Не пойму, откуда берется код после "3 повторяется 1"? Должны выводиться только повторения в селектах. И еще вопрос: селектов у меня 20 штук и если я ставлю 20, то скрипт срабатывает, а если меньше - нет, как сделать, чтобы срабатывал на любое количество? Заранее огромное человеческое спасибо!