Блин стоило написать на форуме, как понял ошибку.
function sel_check(i, n){
if (parseInt(i)+1==parseInt(n)){
$G('sub_but').disabled=false;
}
else {
$G('i_'+i).disabled=true;
var id=parseInt($G('i_'+i).value);
i++;
for (kk = i; kk < n; kk++){
var el = new YAHOO.util.Element('i_'+kk);
for (k=0; k<el.get('childNodes').length; k++){
if (parseInt(el.get('childNodes').item(k).value) == id){
el.removeChild(el.get('childNodes').item(k))
}
}
}
$G('i_'+i).disabled=false;
}
}
Но все равно мне кажется решение некрасивым. Есть ли что-то более правильное?