Originariamente inviato da noos
......
il mio scopo è se l'utente sceglie ad esempio il rosso nel primo menù a tendina
automaticamente deve escludere il rosso negli altri 3 menù a tendina, se l'utente sceglie il rosso nel secondo menù gli compare un alert che lo informa che questo colore è stato già scelto questo per tutti i menù anche se l'utente inizia a selezionare dal secondo oppure dal terzo o quarto menù
codice:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Prova select</title>
<script type="text/javascript">
function Controlla(sel,colore){
//recupero le select nel documento
var SelColori = document.getElementsByTagName("select");
//ciclo for per contare le select presenti
for(var i=0; i<SelColori.length; i++){
//verifico id e la selezione colore
if(SelColori[i].id != sel.id && parseInt(colore)==SelColori[i].selectedIndex){
//avviso d'errore
alert("Colore già selezionato");
//riporto la select errata a valore 0
document.getElementById(sel.id).selectedIndex=0;
return false;
}}
}
</script>
</head>
<body>
<form id="form1" name="form1" method="post" action="#" onsubmit="return Peso();">
<select name="sel1" id="sel1" onchange="Controlla(this,this.options[this.selectedIndex].value)">
<option value="0">Seleziona</option>
<option value="1">Bianco</option>
<option value="2">Nero</option>
<option value="3">Rosso</option>
<option value="4">Verde</option>
</select>
<select name="sel2" id="sel2" onchange="Controlla(this,this.options[this.selectedIndex].value)">
<option value="0">Seleziona</option>
<option value="1">Bianco</option>
<option value="2">Nero</option>
<option value="3">Rosso</option>
<option value="4">Verde</option>
</select>
<select name="sel3" id="sel3" onchange="Controlla(this,this.options[this.selectedIndex].value)">
<option value="0">Seleziona</option>
<option value="1">Bianco</option>
<option value="2">Nero</option>
<option value="3">Rosso</option>
<option value="4">Verde</option>
</select>
</form>
</body>
</html>
Questo dovrebbe andar bene