Sprawdzałem to zaznaczanie checkboxów na FF2, Operze i IE7 i wszędzie działało, to nie wiem.
Co do podświetlania to przeanalizuj sobie zmiany:
<script type="text/javascript"> <!--
function fun(id,thys){
if(document.getElementById(id).checked)
{
document.getElementById(id).checked=false;
thys.style.background='';
}
else
{
document.getElementById(id).checked=true;
thys.style.background='blue';
}
}
function fun2(thys){
id='z'+thys.id;
if(thys.checked)
document.getElementById(id).style.background='blue';
else
document.getElementById(id).style.background='';
}
//-->
/* <![CDATA[ */
.w:hover{
background:orange;
}
/* ]]> */
<tr class="w"><td><input type='checkbox' name='x[]' id='y1' onclick='fun2(this)' /></td><td id='zy1' onclick='fun("y1",this);'>jaki
ś tekst
</td></tr> <tr class="w"><td><input type='checkbox' name='x[]' id='y2' onclick='fun2(this)' /></td><td id='zy2' onclick='fun("y2",this);'>lorem ipsum
</td></tr> <tr class="w"><td><input type='checkbox' name='x[]' id='y3' onclick='fun2(this)' /></td><td id='zy3' onclick='fun("y3",this);'>kolejne wypociny
</td></tr>
UWAGI:
-nie działa dla IE (sprawdzałem na 7), ale bodajże tu jest rozwiązanie tego:
http://www.xs4all.nl/~peterned/csshover.html