Seleccionar fila

Estoy trabajando con JSP, y tengo una tabla de tres columnas, hasta ahora, al ponerme sobre un campo de la misma se seleccionaba, mi intencion es que se seleccionen los otros dos campos de la fila, con este codigo solo selecciono uno, como puedo hacer esto, os dejo el codigo que va en cada campo.
<td align="center" style="padding-left:.3em;cursor:pointer;height:1.5em;bo rder-bottom:1px solid black;font-size:.8em;overflow-x:hidden;display:block;width:a uto;">
<div title ="<%=num%>" class="unselected" id="campouno${datos.nombre}"
onmouseover="sobrecampo(this)"
onmouseout="fueracampo(this)"
onclick="seleccionacampo(${datos.nombre},this)" value="${datos.nombre}"><%=num%></div& gt;
</td>
1

1 Respuesta

30.775 pts. Ingeniero Electrónico con énfasis en Redes de...
Disculpa la demora en la respuesta pero he estado bastante ocupado, en fin aqui te respondo.
Para poder tener claridad del problema, ¿me puedes aclarar que quieres decir con seleccionar un campo? ¿Es qué resalte sobre los demás?
Hablamox
hola, si, la idea es que los campos tengan letra en negro y fondo blanco por ejemplo y que cuando me ponga encima de un campo cambie a fondo negro y letra en blanco y que los otros dos campos que componen la fila se pongan igual, de esta forma selecciono toda la fila.
Mas o menos lo he conseguido, de momento se seleccionan los dos al pinchar dos veces, pero no consigo hacer lo mismo con el mouseover y el mouseout, he provado a poner unmouse in/out en el tr pero me hace algo raro debe tener conflicto con el class,te pongo el codigo a ver si me puedes indicar algo.
<script type="text/javascript">
function unselectAll(){
var lista= $("celda").getElementsByTagName("div");
for (var i = 0; i < lista.length; i++) {
var e=lista;
if (e.className && e.className == 'selected' && !(e.selected)) {
e.className= 'unselected';
}
}
}
function unMarkAll(){
var lista= $("celda").getElementsByTagName("div");
for (var i = 0; i < lista.length; i++) {
lista.selected=false;
}
}
function seleccionacelda(sel,elt){
if (sel > 0){
unselectAll()
unMarkAll()
elt.selected=true;
incelda(sel,elt);
$("ejecutacelda").disabled=false;
$("ejecutacelda").onclick=function(){
this.disabled=true;
new Ajax.Request("enviar.jsp?opcode="+sel,{
method:'get',
onSuccess: function(transport){
var response = transport.responseText ||
"No hay respuesta";
alert(response.replace(/(\n|\r)/g,""));
elt.selected=false;
outcelda(elt);
},
onFailure: function(){ alert('Error ejecutando la operacion') }
});
}
}else{
$("ejecutacelda").disabled=true;
}
}
function incelda(sel,elt){
unselectAll()
var lista=document.getElementsByName("celda"+sel);
for (var i = 0; i < lista.length; i++) {
var e=lista;
if (e.className && e.className == 'unselected' && !(e.unselected)) {
e.className= 'selected';
}
}
}
function outcelda(elt){
unselectAll()
}
</script>
<style type="text/css">
.selected { background-color: black; color: white;}
.unselected { background-color: white; color: black;}
</style>
<div id="celda" style="overflow-y: scroll; overflow-x: scroll; width:200px; height:400px;border: 1px solid black;border-right:0;">
<div style="min-width:50em;">
<table border="0" cellpadding="1" cellspacing="0">
<tr>
<table bgcolor="ivory" border="1" cellpadding="1" cellspacing="0" width="200px">
<c:forEach var="tl" items="${datos.rows}">
<tr onMouseOver="this.style.backgroundColor='#c0c0c0';" onMouseOut="this.style.backgroundColor='#ffffff';">
<td align="center" style="font-size: 9px;" nowrap>
<div title ="${tl.nombre}" id="celda${tl.TL_CODIGO}" name="celda${tl.TL_CODIGO}" class="unselected" onclick="seleccionacelda(${tl.CODIGO},this)" value="${tl.CODIGO}">${tl.nombnre}</div>
</td>
<td align="center" style="font-size: 9px;" nowrap>
<div title ="${tl.apellido}" id="celda${tl.TL_CODIGO}" name="celda${tl.TL_CODIGO}" class="unselected" onclick="seleccionacelda(${tl.CODIGO},this)" value="${tl.CODIGO}">${tl.apellido}</div>
</td>
<td align="center" style="font-size: 9px;" nowrap>
<div title ="${tl.telefono}" id="celda${tl.TL_CODIGO}" name="celda${tl.TL_CODIGO}" class="unselected" onclick="seleccionacelda(${tl.CODIGO},this)" value="${tl.CODIGO}">${tl.telefono}</div>
</td>
</tr>
</c:if>
</c:forEach>
</c:forEach>
</table>
</table>
</div>
</div>
Este código, alguna vez lo use para una aplicacion, creo que es lo que necesitas. Basicamente lo que hago es usar javascript para detectar los onmouseover y onmouseout, y definir los colores normal y resaltado en el estilo.
Espero te sirva
Hablamox!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
<script language="javascript">
function cambiar_color(idobj , color)
{
    var id = document.getElementById(idobj);
    id.style.backgroundColor = color;
}
function cambiar_visible(c)
{
    var o = document.getElementById(c);
    if (o.style.display == 'none')
        o.style.display = 'block';
    else
        o.style.display ='none';
}
</script>
<style>
.tabla_cuadros {
background-color:#C1D9F4;
border-collapse:collapse;
color:#000000;
}
</style>
</head>
<body>
<table border="0" class="tabla_cuadros">
<tr>
<th scope="col">#</th>
      <th scope="col">Usuario</th>
      <th scope="col">Grupo</th>
      <th scope="col">ubicacion</th>
      <th scope="col">trabajo</th>
      <th scope="col">descripcion</th>
      <th scope="col">fecha</th>
      <th scope="col">dir. IP</th>     
      <th scope="col">autoriz.</th>
      <th scope="col"> </th>
</tr>
<tr onmouseover="cambiar_color('tabla_tr_68' , '#A7C9EF')"
    onMouseOut="cambiar_color('tabla_tr_68' , '#C1D9F4')" 
      id="tabla_tr_68" >
<td style="font-weight: bold;">68</td>
<td style="font-weight: bold;">juan muñoz</td>
<td style="font-weight: bold;">Dep. Contratos</td>
<td style="font-weight: bold;">Comando Emavi--: oficina principal</td>
<td style="font-weight: bold;">Carpintero</td>
<td style="font-weight: bold;">instalación puerta de madera</td>
<td style="font-weight: bold;">28/Oct/08 08:33 am</td>
<td style="font-weight: bold;">127.0.0.1</td>
<td style="font-weight: bold;" align="center">SI</td>
<td><label>
        <input type="radio" name="solicitudes_trabajo_id"
        id="solicitudes_trabajo_id" value="68"
        onclick="asignarOrden(this,'83')" />
      </label>      </td>
</tr>
<tr onmouseover="cambiar_color('tabla_tr_67' , '#A7C9EF')"
    onMouseOut="cambiar_color('tabla_tr_67' , '#C1D9F4')" 
      id="tabla_tr_67" >
<td style="font-weight: bold;">67</td>
<td style="font-weight: bold;">brian pinzon</td>
<td style="font-weight: bold;">Seguridad Aérea</td>
<td style="font-weight: bold;">--: afueras del edificio</td>
<td style="font-weight: bold;">Plomero</td>
<td style="font-weight: bold;">daño en el baño</td>
<td style="font-weight: bold;">22/Oct/08 07:18 am</td>
<td style="font-weight: bold;">127.0.0.1</td>
<td style="font-weight: bold;" align="center">SI</td>
<td><label>
        <input type="radio" name="solicitudes_trabajo_id"
        id="solicitudes_trabajo_id" value="67"
        onclick="asignarOrden(this,'81')" />
      </label>      </td>
</tr>
<tr onmouseover="cambiar_color('tabla_tr_66' , '#A7C9EF')"
    onMouseOut="cambiar_color('tabla_tr_66' , '#C1D9F4')" 
      id="tabla_tr_66" >
<td style="font-weight: normal;">66</td>
<td style="font-weight: normal;">pedro falla</td>
<td style="font-weight: normal;">Relaciones CM</td>
<td style="font-weight: normal;">--: cra 30 no 20 16</td>
<td style="font-weight: normal;">Otro</td>
<td style="font-weight: normal;">arreglo del jardin en el patio</td>
<td style="font-weight: normal;">21/Oct/08 08:52 pm</td>
<td style="font-weight: normal;">127.0.0.1</td>
<td style="font-weight: normal;" align="center">NO</td>
<td><label>
        <input type="radio" name="solicitudes_trabajo_id"
        id="solicitudes_trabajo_id" value="66"
        onclick="asignarOrden(this,'')" />
      </label>      </td>
</tr>
</table>
</body>
</html>

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas