Non in tutti ibrowser la proprieta` checked si puo` scrivere.
Si puo` usare il metodo click(); , invece.
Supponendo un codice HTML di questo tipo:
codice:
<form name="form1" method="post" action="" >
<select name="n_stelle" id="n_stelle" onChange="copiasel(this)" >
<option>seleziona</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<input name="r1" type="checkbox" id="r1">
<input name="r2" type="checkbox" id="r2">
<input name="r3" type="checkbox" id="r3">
<input name="r4" type="checkbox" id="r4">
...
</form>
Lo script potrebbe diventare:
codice:
function copiasel(ss) {
var valsel = parseInt(ss.options[ss.selectedIndex].value, 10);
var i=0;
var cb;
for(i=1; i<=valsel; i++) {
cb = ss.form.elements['r'+i];
if(!cb.checked) cb.click();
} for(i; i<=4; i++) { // il 4 si riferisce al numero max di checkbox
cb = ss.form.elements['r'+i];
if(cb.checked) cb.click();
}
}
Spero sia quello che volevi.