Hola,
En efecto, es javascript el que lo hace todo.
En parte ha sido culpa mía por escribir el código de memoria y sin probarlo, y en parte del foro que mete espacios cuando la línea se hace larga.
Así funciona (marco en rojo los puntos clave)
PARA CAMBIAR DE COLOR LA CELDA
Código:
<table border="1"><tr>
<td id="celda1">
<form>
<input type="checkbox" onClick="document.getElementById('celda1').style.backgroundColor='#ffff00';">
</form></td>
</tr></table>
(backgroundColor va sin espacios)
PARA OCULTAR Y MOSTRAR EL COMBO
Código:
<table border="1">
<tr>
<td id="celda1"><form>
<input type="checkbox"
onClick="document.getElementById('celda1'').style.backgroundColor='#ffff00';
document.getElementById('combo1').style.display='block';">
<select id="combo1" style="display:none;">
<option>a</option>
<option>b</option>
</select>
</form></td>
</tr>
</table>
(backgroundColor va sin espacios y sobraban las comillas en NONE)
Y quita el espacio que se ha metido en BLOCK
Falta aún pulir el código del color para que vuelva a ser blanco al desmarcar el checkbox. Luego lo intento