guarda se può andare
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>
    <title>Pagina senza titolo</title>

    <script language="javascript" type="text/javascript">
// <!CDATA[

function valuta(v)
{
    var id = v.id;
    var n = parseInt(id.substr(6), 10);
    var v1 = null;
    var id1 = "";
    
    if(n >= 1 && n < 4)
    {
        for(var i = n + 1; i <= 4; i++)
        {
            id1 = "Select" + i;
            v1 = $(id1);
            v1.disabled = true;
            cancella_lista(v1);
            copia_elementi_non_selezionati(v, v1);
        }
        $("Select" + (n + 1)).disabled = false;
    }
    
}


//da prototype.js
function $() 
{
  var elements = new Array();

  for (var i = 0; i < arguments.length; i++) {
    var element = arguments[i];
    if (typeof element == 'string')
      element = document.getElementById(element);

    if (arguments.length == 1)
      return element;

    elements.push(element);
  }

  return elements;
}

/*--------------------------------------------------------------
//Rimuove l'elemento di value id, da una lista
--------------------------------------------------------------*/
function cancella_elemento(lista, id)
{
	var v1 = lista.options;
	for (var i = v1.length - 1; i >= 0; i--) 
	{
		if(v1[i].value == id) 
		{
			lista.remove(i);
		}
	}
}

function cancella_lista(l)
{
	var v1 = l.options;
	for (var i = v1.length - 1; i >= 0; i--) l.remove(i);
}

function copia_elementi_non_selezionati(l1, l2)
{
	var v1 = l1.options;
	var v2 = l2.options;
	for (var i = 0; i < v1.length; i++) 
	{
		if(!v1[i].selected) 
		{
			v2[v2.length] = new Option(v1[i].text, v1[i].value);
		}	
	}

}


// ]]>
    </script>
</head>
<body>
    <select id="Select1" size="4" onchange="valuta(this);">
        <option value="0">A</option>
        <option value="1">B</option>
        <option value="2">C</option>
        <option value="3">D</option>
    </select>
    

    <select id="Select2" size="4" disabled="disabled" onchange="valuta(this);">
        <option value="0">A</option>
        <option value="1">B</option>
        <option value="2">C</option>
        <option value="3">D</option>
    </select>
    

    <select id="Select3" size="4" disabled="disabled" onchange="valuta(this);">
        <option value="0">A</option>
        <option value="1">B</option>
        <option value="2">C</option>
        <option value="3">D</option>
    </select>
    

    <select id="Select4" size="4" disabled="disabled" onchange="valuta(this);">
        <option value="0">A</option>
        <option value="1">B</option>
        <option value="2">C</option>
        <option value="3">D</option>
    </select>
    
</body>
</html>