Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/11/2012, 16:43
gebremswar
 
Fecha de Ingreso: enero-2012
Ubicación: Santiago de Surco, Lima - Perú
Mensajes: 266
Antigüedad: 12 años, 2 meses
Puntos: 57
Información Respuesta: Iluminar y marcar celda al pasar con el raton en una tabla.

Hola satjaen, que tal.
Cita:
Iniciado por satjaen Ver Mensaje
(...) quisiera saber si se puede (...)
Si se puede!
Cita:
Iniciado por satjaen Ver Mensaje
que al pasar el raton por la celda se ilumine
Ese "se ilumine" , podemos traducirlo como: que cambie de color a uno más bonito con la pseudo-clase :hover.

Ejemplo CSS:
Código CSS:
Ver original
  1. table tr:hover {background-color:greenyellow} /*para la fila*/
  2. /*... o si solo se desea ...*/
  3. table tr td:hover {background-color:greenyellow} /*para la celda*/
Cita:
Iniciado por satjaen Ver Mensaje
y se seleccione al pulsarle ya que que tiene un input tipo radio.
Ese "se seleccione" , podemos traducirlo como: que al hacerle click obtenga un nuevo color (distinto al usado en :hover) que represente su estado de seleccionado como también el input[type="checkbox"] presente.

Ahi ya estamos en el territorio de Javascript y como estamos el el foro 127 usaremos JQuery.

Código Javascript:
Ver original
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Documento sin título</title>
  6. <script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
  7. <script>
  8. $(document).on('ready', function(){
  9.     $('#list .row').on({
  10.         click: function(){
  11.             var $checkbox = $(this).find('.check');
  12.             if ($checkbox.prop('checked')) {
  13.                 $checkbox.prop('checked', false);
  14.                 $(this).removeClass('selected')
  15.             } else {
  16.                 $checkbox.prop('checked', true);
  17.                 $(this).addClass('selected')
  18.             }
  19.         },
  20.         mouseenter: function(){$(this).addClass('over')},
  21.         mouseleave: function(){$(this).removeClass('over')}
  22.     });
  23.     $('#list .row .check').on('click', function(event){
  24.         event.stopPropagation();
  25.         $(this).parents('.row').toggleClass('selected');
  26.     });
  27. });
  28. </script>
  29. <style>
  30. table {border-collapse:collapse;border-spacing:0}
  31. th, td {border:1px solid black;cursor:default}
  32. .row.over {background-color:#E7E7E7}
  33. .row.selected {background-color:#0072C6;color:white}
  34. </style>
  35. </head>
  36.  
  37. <body>
  38. <table id="list">
  39.   <thead>
  40.     <tr>
  41.       <th>*</td>
  42.       <th>Name</td>
  43.     </tr>
  44.   </thead>
  45.   <tbody>
  46.     <tr class="row">
  47.       <td><input type="checkbox" class="check"></td>
  48.       <td>gebremswar</td>
  49.     </tr>
  50.     <tr class="row">
  51.       <td><input type="checkbox" class="check"></td>
  52.       <td>satjaen</td>
  53.     </tr>
  54.   </tbody>
  55. </table>
  56. </body>
  57. </html>

Quizá quede algunas cosas por ajustar debido al contenido dinámico. Pero básicamente es lo que deseas realizar.

Así mismo, podrías obviar las lineas 20 y 21 del código que he compartido y utilizar en su lugar las reglas CSS que puse de ejemplo en la segunda respuesta que escribí lineas más arriba con el fin de no ocupar JQuery en algo tan simple que se puede manejar con CSS.

Cita:
Iniciado por satjaen Ver Mensaje
Gracias y un saludo
Saludos igualmente y coméntanos cualquier duda.