Hola, hace un rato estoy intentando pero no logro hacer algo con un plugin.
El plugin en cuestión es
Table Drag and Drop. En resumen, el plugin lo que hace es que te permite ordenar los registros de una tabla(<table>) mdiante drag and drop.
Tengo dos problemas con el plugin:
1. Las tablas en el proyecto pueden ser
n cantidad (actualmente trabajo con dos y funciona perfecto). Porque van a ser tablas(<table>) generadas desde base datos. El problema en sí es la manera como se usa el plugin:
Si van a ser tablas dinámicas, como "dinamizo" también el llamado del plugin para esa n cantidad de tablas? Al plugin toca pasarle el id de la tabla que va a usarlo :S
2. Para saber el orden que van seleccionando, el plugin cuenta con un método:
Que es un arreglo que contiene los índices del orden y los id de los registros. Lo uso para hacer el ajax y pasarle el nuevo orden a la base de datos y realizar el update.
El problema viene que para recibir el post (el que genera ese método), debo llamar el id de la tabla que ordenaron, pero si logro hacer el llamado a tablas dinámicas, según yo, no sabría cuál es la tabla en cuestión que usaron.
Les dejo como tengo el javascript para que se hagan a una idea:
Código Javascript
:
Ver original<script type="text/javascript">
$(document).ready(function(){
$("#table1").tableDnD({
onDragClass: "hhh",
onDrop: function(table, row){
$.ajax({
type: 'post',
url: 'producto/ordenar.php',
data: $.tableDnD.serialize(),
success: function(data){
if(data == 1) {
var rows = table.tBodies[0].rows;
for (var i=0; i<rows.length; i++) {
$('#table-products tr[id='+rows[i].id+'] td:first').html(i+1);
}
}
},
error: function() {
}
});
}
});
$("#table2").tableDnD({
onDragClass: "hhh",
onDrop: function(table, row){
$.ajax({
type: 'post',
url: 'producto/ordenar.php',
data: $.tableDnD.serialize(),
success: function(data){
if(data == 1) {
var rows = table.tBodies[0].rows;
for (var i=0; i<rows.length; i++) {
$('#table-products2 tr[id='+rows[i].id+'] td:first').html(i+1);
}
}
},
error: function() {
}
});
}
});
});
</script>
Espero me haya hecho entender
Saludos