Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 
Índice general » Otros Temas » JavaScript » JavaScript para armado de tabla Responder al tema
Nuevo tema


Página 1 de 1  [ 10 mensajes ] 
 
Nota 2009-03-30 15:14 @676

Perlero Nuevo
Registrado: 2008-09-19 09:35 @441
Mensajes: 33
JavaScript para armado de tabla
Bueno espero que pueda llegarse a entender bien lo que quiero hacer y la verdad que estuve dando vuelta y se me complicó mucho hacerlo y no sé cómo...

Lo que quiero hacer es lo siguiente...

Tengo una tabla con N elementos, la cual tiene un ID fijo ya (que no tiene un orden especifico sino un valor que tengo que tener sí o sí) en la tabla necesito un checkbox, la cual tiene uno que puede seleccionar a todos, eso ya está hecho.

Cuando se pulsa en el checkbox se calcula un valor de una DB (ya está hecho) que depende si está uno, dos, o 10 seleccionados (para obtener ese valor se pasa el id).

Ahora el problema es el siguiente...

Lo que tengo que hacer es que cada vez que se pulsa en un checkbox ése pase automáticamente arriba, y que se pueda ordenar solo ésos, por los otros dos valores de la tabla; suponiendo que hay 10 seleccionados se pueda hacer con drag & drop moverlos para ordenarlos como uno quiera.

¿Se entiende más o menos lo que quiero hacer?

Cualquier cosa que quieran saber pregunten; mientras, seguiré investigando.

Pablo


Nota 2009-03-30 15:37 @692
Avatar de Usuario
Creador de Perl en Español
Registrado: 2003-10-15 16:52 @744
Ubicación: México
Mensajes: 1163
Checa:
http://tool-man.org/examples/sorting.html

_________________
Uriel Lizama Perl programmer fundador de Perl en Español


Nota 2009-03-30 15:48 @700

Perlero Nuevo
Registrado: 2008-09-19 09:35 @441
Mensajes: 33
Para drag and drop ya lo tengo hecho (http://www.isocra.com/2008/02/table-dra ... ry-plugin/)

Ahora lo que tengo que hacer es...

Cuando haces clic en el chekbox suba arriba de la tabla.


Nota 2009-03-30 20:51 @911
Avatar de Usuario
Creador de Perl en Español
Registrado: 2003-10-15 16:52 @744
Ubicación: México
Mensajes: 1163
Deja ver si entiendo.

Tu tienes unos campos, los cuales tienen una caja de selección.

Si la caja es seleccionada entonces el campo pasará a alguna otra parte en donde podrá ser ordenado junto con los otros campos que fueron seleccionados.

¿Esto es correcto?

_________________
Uriel Lizama Perl programmer fundador de Perl en Español


Nota 2009-03-31 07:33 @356

Perlero Nuevo
Registrado: 2008-09-19 09:35 @441
Mensajes: 33
Es una sola tabla; cuando se selecciona una fila, esa fila se va arriba del todo, si se selecciona otra fila se va arriba de todas las no seleccionada y abajo de la seleccionada...

Eso sería, pero es todo en la misma tabla.

Si logro copiar todo el contenido de un tr a otro ¡ya estaría más o menos lo que quiero! :P


Nota 2009-03-31 19:39 @860

Perlero Nuevo
Registrado: 2007-09-09 14:44 @656
Mensajes: 67
Hola.
Si estuvieras usando Jquery sería algo así.

Syntax: [ Download ] [ Hide ]
  1. <script type="text/javascript" src="jquery.js"></script> 
  2. <script> 
  3. function moverFila(obj){ 
  4. $(obj).parent().prepend('<tr onclick="moverFila(this)">'+$(obj).html()+'</tr>') 
  5. $(obj).remove() 
  6. </script> 
  7.  
  8. <table> 
  9.  
  10. <tr onclick="moverFila(this)"><td>Fila1</td></tr> 
  11. <tr onclick="moverFila(this)"><td>Fila2</td></tr> 
  12. <tr onclick="moverFila(this)"><td>Fila3</td></tr> 
  13. <tr onclick="moverFila(this)"><td>Fila4</td></tr> 
  14. <tr onclick="moverFila(this)"><td>Fila5</td></tr> 
  15.  
  16. </table> 


Espero que te sirva.
Saludos


Nota 2009-04-01 08:41 @403

Perlero Nuevo
Registrado: 2008-09-19 09:35 @441
Mensajes: 33
elnico: mil gracias es 99% lo que necesitaba :D

Le modifiqué algo y quedó...
Syntax: [ Download ] [ Hide ]
Using javascript Syntax Highlighting
function moverFila(obj,valor){
        if(document.getElementById("listach"+valor).checked == true){
                $(obj).parent().prepend('<tr id="tridlistas'+valor+'" onclick="moverFila(this,'+valor+')">'+$(obj).html()+'</tr>')
                $(obj).remove()
                document.getElementById("listach"+valor).checked = true;
        }
}


Mil gracias :D:D:D

Agrego...

Si al deseleccionar el check box quiero que se vaya abajo de todo los que están seleccionados, ¿cómo lo haría? :oops: :oops:

:D :D


¡¡¡¡EDITO!!!!

Tengo varios problemas con esto, el principal es cuando utilizo "Tablesorter: Ordenar tabla con jQuery" ¡me agrega los que moví! de nuevo a la tabla (o sea, que quedan algunos 2 veces) y rompe todo :(


Nota 2009-04-02 12:49 @575

Perlero Nuevo
Registrado: 2007-09-09 14:44 @656
Mensajes: 67
Hola,

No conocía este plugin pero siempre es bueno investigar un poco.
La solución es disparar el evento de actualización para refrescar la cache del objeto y se hace así:

Syntax: [ Download ] [ Hide ]
Using javascript Syntax Highlighting
//Agrega este código al final de la función moverFila()
$("#idDetuTabla").trigger("update");

La funcion completa es:

function moverFila(obj){
  $(obj).parent().prepend('<tr onclick="moverFila(this)">'+$(obj).html()+'</tr>')
  $(obj).remove();
  $("#myTable").trigger("update");
}


Saludos.


Nota 2009-04-03 07:37 @359

Perlero Nuevo
Registrado: 2008-09-19 09:35 @441
Mensajes: 33
Grande. Ahí funcionó todo y le agregué para el drag and drop también :D Ahora funciona todo joya :D


Nota 2009-04-21 09:03 @419

Perlero Nuevo
Registrado: 2008-09-19 09:35 @441
Mensajes: 33
¿Cómo sería si el OBJ lo quiero mover arriba de un tr con id 'x' en vez de arriba de la tabla?

Gracias :)


Responder al tema  [ 10 mensajes ] 

Reglas del Foro
No puedes abrir nuevos temas en este Foro
No puedes responder a temas en este Foro
No puedes editar tus mensajes en este Foro
No puedes borrar tus mensajes en este Foro
No puedes enviar adjuntos en este Foro

Publicidad

Socializa

Síguenos por Twitter

Suscríbete GRATUITAMENTE al Boletín de Perl en Español

Saltar a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com
phpBB SEO