Rispondo a Mich_:

ho provato a semplificare il codice per vedere cosa non andava e ho scritto così:

var valore="pippo";
var cod=window.document.mioform.inprod.value;
alert(cod);
alert(window.document.mioform.prodotti.selectedInd ex);
alert(window.document.mioform.prodotti.options[window.document.mioform.prodotti.selectedIndex].text);
alert(cod==window.document.mioform.prodotti.option s[window.document.mioform.prodotti.selectedIndex].text);
alert(window.document.mioform.prodotti.options.len ght);
alert(window.document.mioform.prodotti.lenght);
if (cod==window.document.mioform.prodotti.options[window.document.mioform.prodotti.selectedIndex].text){
alert(valore);
}

i due alert che riportano lenght, mi danno "undefined".
Hai qualche altro suggerimento?

Per quanto riguarda l'assegnazione del numero all'opzione hai ragione, volevo scrivere: prodotti.selectedIndex=i;

resto in attesa, grazie comunque...





Rispondo a anise_373:

si l'avevo pensato anch'io, però ritengo più pulito leggerlo sul documento effettivo, i momenti in cui carico i dati da db e quelli di compilazione delle options sono diversi e non si sa mai cosa può succedere. Se non riuscirò a fare altrimenti proverò così, ma spero di trovare una soluzione migliore.