JavaScript - Selecion de datos en Tabla

   
Vista:

Selecion de datos en Tabla

Publicado por pedro pedromtzr@hotmail.com (5 intervenciones) el 03/08/2016 22:24:16
Tengo el Siguiente codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<table border=1 bgcolor="lightgray" width="1200" id="tab_datos" >
	<tbody>
		<tr>
			<td># Contacto</td>
			<td>Contacto</td>
			<td>Telefono</td>
			<td>Ext</td>
			<td>Mail</td>
			<td>Puesto</td>
			<td>Seleccionar</td
		</tr>
			<%@page import="Consultas.pruebas_inivar"%>
			<jsp:useBean id="idCont_vcorpo" class="Consultas.prueba_consultabd" scope="page"/>
			<%
			if( request.getParameter("vtid_subgpo") != null )
				com_afilcte = Integer.parseInt( request.getParameter("vtid_subgpo") );
 
			ArrayList arrayContacto = idCont_vcorpo.getSubgpo(com_afilcte) ;
			for (int i=0;i<arrayContacto.size();i++){
					pruebas_inivar cont = (pruebas_inivar) arrayContacto.get(i);
				%>
				<tr>
					<td align="left" id="idcontac"><%=cont.getTid_contacto()%></td>
					<td align="left" id="idnom"><%=cont.getTcontact() %></td>
					<td align="left" id=""><%=cont.getTtel_cont() %></td>
					<td align="left" id=""><%=cont.getText_cont() %></td>
					<td align="left" id=""><%=cont.getTmail_cont() %></td>
					<td align="left" id=""><%=cont.getTpuesto_cont() %></td>
					<td align="left"><input type="checkbox" name="Seleccionar" value="ON" onclick="sel_contac('idcontac');" /></td>
				</tr>
 
			<% }%>
	</tbody>
</table>
Este array se llena con datos de una consulta SQL, intente hacer la funcion en sel_contac pero siempre me muestra solo los datos del primer registro, que cabe aclarar no necesariamente es el que estoy seleccionando.

1
2
3
4
5
function sel_contac(fila){
	alert("en function sel_contac ");
	vnomcontac=document.getElementById('idcontac').innerHTML;
	alert("vnomcontac "+vnomcontac);
}

Lo que busco es que al dar click en el registro tome los datos del getTcontac seleccionado y que a su vez solo permita 1 seleccion y no varias.

Espero su ayuda.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Selecion de datos en Tabla

Publicado por xve (1594 intervenciones) el 04/08/2016 08:47:33
Hola Pedro, tienes un problema en tu código, y es que repites los id's... este id:
1
<td align="left" id="idcontac"><%=cont.getTid_contacto()%></td>

Este repetido, por cada fila, por lo que creo que siempre te cojera el primero o ultimo (ahora no recuerdo).
Recuerda que los id's no se pueden repetir.


Yo le añadiría la variable i al id idcontac, de esta manera, todos serian diferentes... de igual manera, al llamar a la función sel_contac tambien tienes que añadirle la variable i
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Selecion de datos en Tabla

Publicado por pedro pedromtzr@hotmail.com (5 intervenciones) el 04/08/2016 19:08:54
Antes que nada gracias por tu amable respuesta

mmm, en el codigo solo tengo 1 id llamado:

1
2
<td align="left" id="idcontac"><%=cont.getTid_contacto()%></td>
<td align="left" id="idnom"><%=cont.getTcontact() %></td>

y lo repito solo en el input, entendiendo un poco la recomendación que me das es que agrege la variable i y que la ponga en la función la pregunta seria quedaria algo así:

1
2
<td align="left" id="idcontac(i)"><%=cont.getTid_contacto()%></td>
<td align="left" id="idnom(i)"><%=cont.getTcontact() %></td>

en el input así:

1
<td align="left"><input type="checkbox" name="Seleccionar" value="ON" onclick="sel_contac('idcontac(i)');" /></td>

y en la funcion:

1
2
3
4
5
function sel_contac(fila){
	alert("en function sel_contac ");
	vnomcontac=document.getElementById('idcontac(i)').innerHTML;
	alert("vnomcontac "+vnomcontac);
}

Es correcto?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de martin

Selecion de datos en Tabla

Publicado por martin (3 intervenciones) el 05/08/2016 03:05:37
esta perfecto!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Selecion de datos en Tabla

Publicado por pedro pedromtzr@hotmail.com (5 intervenciones) el 05/08/2016 15:39:02
Gracias Martin por tu aportación
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Selecion de datos en Tabla

Publicado por Pedro (5 intervenciones) el 05/08/2016 17:45:49
Martin: Hice las modificaciones pero sigue entregando el mismo resultado, envió archivo en rar para mostrar el dato, espero su ayuda

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<%@page import="Consultas.pruebas_inivar"%>
	<jsp:useBean id="idCont_vcorpo" class="Consultas.prueba_consultabd" scope="page"/>
	<%
	if( request.getParameter("vtid_subgpo") != null )
		com_afilcte = Integer.parseInt( request.getParameter("vtid_subgpo") );
 
	ArrayList arrayContacto = idCont_vcorpo.getSubgpo(com_afilcte) ;
	for (int i=0;i<arrayContacto.size();i++){
			pruebas_inivar cont = (pruebas_inivar) arrayContacto.get(i);
		%>
		<tr>
			<td align="left" id="idcontac[i]"><%=cont.getTid_contacto()%></td>
			<td align="left" id="idnom[i]"><%=cont.getTcontact() %></td>
			<td align="left" id=""><%=cont.getTtel_cont() %></td>
			<td align="left" id=""><%=cont.getText_cont() %></td>
			<td align="left" id=""><%=cont.getTmail_cont() %></td>
			<td align="left" id=""><%=cont.getTpuesto_cont() %></td>
			<td align="left"><input type="checkbox" name="Seleccionar" value="ON" onclick="sel_contac('idcontac[i]');" /></td>
		</tr>
 
	<% }%>
</tbody>

funcion

1
2
3
4
5
function sel_contac(fila){
        alert("en function sel_contac ");
        vnomcontac=document.getElementById('idcontac[i]').innerHTML;
        alert("vnomcontac "+vnomcontac);
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Selecion de datos en Tabla

Publicado por pedro pedromtzr@hotmail.com (5 intervenciones) el 06/08/2016 00:51:03
Amigos, encontre la solución:

Les comparto donde estaba el error:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ArrayList arrayContacto = idCont_vcorpo.getSubgpo(com_afilcte) ;
for (int i=0;i<arrayContacto.size();i++){
	pruebas_inivar cont = (pruebas_inivar) arrayContacto.get(i);
	%>
	<tr>
		<td align="left" id="idcontac[i]"><%=cont.getTid_contacto()%></td>
		<td align="left" id="idnom[i]"><%=cont.getTcontact() %></td>
		<td align="left" id=""><%=cont.getTtel_cont() %></td>
		<td align="left" id=""><%=cont.getText_cont() %></td>
		<td align="left" id=""><%=cont.getTmail_cont() %></td>
		<td align="left" id=""><%=cont.getTpuesto_cont() %></td>
		<td align="left"  onclick="sel_contac('<%=cont.getTcontact() %>');"><input type="checkbox" name="Seleccionar" value="ON" /></td>
	</tr>
 
<% }%>

y en la función solo llamar la variable

Gracias por su apoyo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de xve

Selecion de datos en Tabla

Publicado por xve (1594 intervenciones) el 06/08/2016 08:55:39
Gracias por compartirlo Pedro!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar