Newsgroup: it.comp.lang.javascript
Titolo: array e valori di confronto strano (per me almeno...)

Dunque dal codice sottostante completo in tutte le sue parti riesco a 
generare le option solo e solo se il valore è 0 se sostituisco il valore 
non genera più le option eppure come vedete esistono diversi valori 
nell'elemento 1 ( 0, 5 , 6, 8 , 4). Ho anche provato a valutarlo come 
stringa ma niente da fare. L'array è così formato:
var cnt=0;
var db = new Array();
     db[cnt++] = new Array("primo1",0);
     db[cnt++] = new Array("primo2",0);
     db[cnt++] = new Array("primo3",0);
     db[cnt++] = new Array("primo4",5);
     db[cnt++] = new Array("primo5",0);
     db[cnt++] = new Array("primo6",0);
     db[cnt++] = new Array("primo7",0);
     db[cnt++] = new Array("primo8",0);
     db[cnt++] = new Array("primo9",6);
     db[cnt++] = new Array("primo10",6);
     db[cnt++] = new Array("primo11",6);
     db[cnt++] = new Array("primo12",6);
     db[cnt++] = new Array("primo13",6);
     db[cnt++] = new Array("primo14",6);
     db[cnt++] = new Array("primo15",6);
     db[cnt++] = new Array("primo16",8);
     db[cnt++] = new Array("primo17",8);
     db[cnt++] = new Array("primo18",8);
     db[cnt++] = new Array("primo19",4);
e il codice che compila una combobox:
function caricaprima(nomeselect)
	{
		// uso eval per identificare la select utilizzando
 
		datiestratti="";
		contadati=1;
 
		for (num=1;num <= db.length;num++)//era: n in db
			{        		
		        i = document.lista.eval(nomeselect).length;
		        if (db[num][1] == 0)
		        	{
		        		//carica la prima combobox solo con i prodotti della radice
		        		//il primo valore è quello visualizzato poi viene il valore 
associato
		        		option0 = new Option(db[num][0],num);//db[n][2]//id progr prod
						//contadati++;						
					}
				document.lista.eval(nomeselect).options[i]=option0;
			}		
	}
e la form select che le visualizza:
<BODY BGCOLOR="white" onload="javascript: caricaprima('prima');">
<FORM name="lista" id="lista">
<!--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--> 
 
	<SELECT name="prima" id="prima">
		<option>
	</SELECT>
</FORM>
</BODY>
Ripeto carica solo i dati dove l'elemento 1 è 0.
Help grazie !!!
Omega

 eccolo qui: crei la option solo per il valore 0.
Provo a ripetere sperando di essere più chiaro:
se cambio il valore da 0 a qualsiasi altro che però dovrebbe essere
contenuto nell'array in corrispondenza dell'elemento db[num][1] non
viene caricata la select mentre solo con il valore 0 carica gli
elementi. Cioè se sostituisco con:
       for (num=1;num <= db.length;num++)//era: n in db
           {
               i = document.lista.eval(nomeselect).length;
               if (db[num][1] == 6)
per esempio (o sostituendo con qualsiasi valore presente), gli elementi
corrispondenti non vengono visti.
Perchè ?? eppure nell'array esistono.

 Questo non l'ho neanche provato, ma ho come l'idea che funzioni meglio.
Grazie infinite per la pazienza (che è la virtù dei forti).
Stò anche scrivendo senza un minimo di supporto ide ne autocompletion
quindi capirai... oltre l'ignoranza.
Grazie ancora.