Necesito cambiar dinámicamente el orden de las columnas en una tabla en html/js, ¿me puede decir cómo hacerlo? ¡Gracias a todos!Cambiar columnas de la tabla orden
Respuesta
Si sólo necesita simplemente mover una columna sin ningún tipo de animación de arrastrar y soltar de fantasía, la siguiente JS debe hacer el truco:
<script type="text/javascript">
$(function() {
jQuery.each($("table tr"), function() {
$(this).children(":eq(1)").after($(this).children(":eq(0)"));
});
});
</script>
Sustitución de los números como sea necesario. El concepto funciona
Parece que escribir esto como un trazador de líneas no es realmente posible. incluyendo td en el selector, incluso con el selector de filas parece contener cada td en un índice separado, ignorando las filas.
Un plugin de cuadrícula jQuery debería ser el caso. Aunque no tengo experiencia con dichos complementos.
Hmm ... no para noquear esta respuesta, pero ¿por qué el cambio de respuesta correcta? Daría la mía al borde de la reutilización. – typeof
esto no está mal, solo tenga en cuenta que no funcionará si hay celdas combinadas (es decir: rowspan> 1) – Benja
Hice un cambio menor a este, en lugar de usar un selector en los niños, es mucho más fácil encadenar .eq (1) por ejemplo. Esto hace que sea más fácil pasar argumentos :) –
columnas en movimiento no es tan difícil:
Se puede utilizar esta función:
jQuery.moveColumn = function (table, from, to) {
var rows = jQuery('tr', table);
var cols;
rows.each(function() {
cols = jQuery(this).children('th, td');
cols.eq(from).detach().insertBefore(cols.eq(to));
});
}
Entonces invocarlo así:
var tbl = jQuery('table');
jQuery.moveColumn(tbl, 2, 0);
Por lo tanto, si se conoce el índice de la columna y el índice del lugar donde desea ubicarlo (basado en cero), puede mover las columnas, incluidos los encabezados de columna.
Aquí es el jsFiddle de trabajo: http://jsfiddle.net/Qsys7/1/
como otras soluciones, podría ser suficiente, pero no funciona con las celdas combinadas (es decir, rowspan> 1) – Benja
Lo intenté, no funciona cuando intento hacer un tbl, 0,6 (mover la primera columna al último lugar). En cambio, estoy obligado a hacer 1,0 => 2,1 => 3,2 ... 6,5 para poner la primera columna en lastp lace – WizLiz
Modifiqué tu código para permitir mover las columnas a la última columna. Ver: http://jsfiddle.net/fyq9em36/ – Keeper
Aquí hay un plugin de jQuery que acabo de escribir para cambiar el contenido de dos columnas:
$.fn.switchColumns = function (col1, col2) {
var $this = this,
$tr = $this.find('tr');
$tr.each(function(i, ele){
var $ele = $(ele),
$td = $ele.find('td'),
$tdt;
$tdt = $td.eq(col1).clone();
$td.eq(col1).html($td.eq(col2).html());
$td.eq(col2).html($tdt.html());
});
};
Probado esto, en realidad solo cambia el contenido de las celdas, no las columnas. Esto no funciona si los elementos td son importantes para el contenido que contienen. El concepto funciona aunque no tenga esos requisitos. –
Mover el contenido de las columnas no es tan inteligente si tiene la propiedad 'width' u otras propiedades de estilo en las columnas. Acabas terminando con la columna ancha siendo mucho más estrecha, y viceversa. – cartbeforehorse
- 1. Cómo cambiar las columnas de DataTop orden
- 2. ¿Importa el orden de las columnas en la tabla?
- 3. Columnas de tabla redimensionables
- 4. ¿Cómo cambiar el orden de las columnas en una tabla usando la consulta sql en SQL server 2005?
- 5. Retorno orden de MySQL VER COLUMNAS
- 6. ¿Cómo cambiar el orden de las columnas en un esquema de tabla de SQL Server Compact Edition?
- 7. Orden por varias columnas con la doctrina
- 8. mysql obtener los nombres de las columnas de la tabla en orden alfabético
- 9. Cambiar la precisión de todas las columnas decimales en cada tabla en la base de datos
- 10. Varias columnas en la vista de tabla
- 11. PHP MySQL Orden por dos columnas
- 12. GROUP_CONCAT cambiar GROUP BY orden
- 13. Rieles: orden por suma de dos columnas
- 14. .NET problema orden de las columnas ListView
- 15. Orden MYSQL por suma de columnas
- 16. ¿Importa el orden de las columnas en una consulta?
- 17. ¿Cómo ocultar columnas en la tabla HTML?
- 18. Columnas no seleccionables en la tabla HTML
- 19. Cambiar orden de subvistas NSView
- 20. la tabla pivote y Concatenar Columnas
- 21. Ocultar columnas en la tabla JavaScript
- 22. Copie los datos de la tabla con columnas comunes
- 23. Reordenar el orden de las columnas en Sqlyog
- 24. ¿Cómo mantener el orden de las columnas al crear una nueva tabla usando hibernación?
- 25. ¿Hay alguna razón para preocuparse por el orden de las columnas en una tabla?
- 26. Cambiar la orden de conexión de la ranura de señal
- 27. ¿Es posible cambiar el orden natural de las columnas en Postgres?
- 28. orden SQL por el valor más alto de dos columnas
- 29. sqlite3: crear tabla sin columnas
- 30. Orden dinámico por SELECT con múltiples columnas
columnas cambiantes es duro, cambiar filas es fácil –
Use un plugin de tabla. http://plugins.jquery.com/projects/plugins/tables –
Deberías dar más detalles aquí. ¿Esperas permitir a los usuarios arrastrar y soltar el orden de las columnas? ¿Qué tan flexible necesita que sea? – jessegavin