Prova questo...
codice:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<body>
<script language="JavaScript" type="text/javascript">
<!--
function selectUnselect(aCheckbox,indice) {
for (i=0;i<mySelect.options.length;i++) {
if (mySelect.options[i].value == indice) {
mySelect.options[i].selected = aCheckbox.checked;
} // if (mySelect.options[i].value == indice)
} // for (i=0;i<mySelect.options.length;i++)
} // function select(i)
var arrPersone = new Array();
arrPersone[0] = new Array();
arrPersone[0][0] = "Luca Verdi (italiano)";
arrPersone[0][1] = "Andrea Bianchi (italiano)";
arrPersone[0][2] = "fine";
arrPersone[1] = new Array();
arrPersone[1][0] = "Franco Verdi (inglese)";
arrPersone[1][1] = "fine";
arrPersone[2] = new Array();
arrPersone[2][0] = "Mario Rossi (matematica)";
arrPersone[2][1] = "fine";
arrPersone[3] = new Array();
arrPersone[3][0] = "Badaze (Francese)";
arrPersone[3][1] = "fine";
arrPersone[4] = new Array();
arrPersone[4][0] = "fine";
//-->
</script>
<select id="mySelect" multiple>
</select >
<input type="checkbox" id="italiano" onclick="selectUnselect(this,0);">italiano
<input type="checkbox" id="matematica" onclick="selectUnselect(this,2);">matematica
<input type="checkbox" id="inglese" onclick="selectUnselect(this,1);">inglese
<input type="checkbox" id="francese" onclick="selectUnselect(this,3);">francese
<script language="JavaScript" type="text/javascript">
<!--
//----- Riempire select
i = 0;
while (arrPersone[i][0] != "fine") {
j=0;
while (arrPersone[i][j] != "fine") {
var curOption = document.createElement("OPTION");
mySelect.options.add(curOption);
curOption.innerText = arrPersone[i][j];
curOption.value = i;
j++;
}
i++;
}
//-->
</script>
</body>
</html>