Drag & Drop AJAX
Tenho os seguintes códigos
INDEX.PHP
<div class="content-wrapper">
<section class="content">
<div class="row">
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">
<a href="javascript:void(0);" class="btn btn-danger reorder_task" id="save_reorder">Reordenar</a>
<div id="reorder-helper" class="alert alert-danger" style="display:none;" role="alert"><h6>Reordenação Liberada</h6></div>
</div>
<div class="panel-body">
<ul id="sortable" class="list-group">
<?php
echo $auth_task->select();
?>
</ul>
</div>
<div class="panel-footer">Panel footer</div>
</div><!-- <div class="panel panel-default"> -->
</div><!-- <div class="col-md-6"> -->
</div> <!-- <div class="row"> -->
</section><!-- <section class="content"> -->
</div><!-- <div class="content-wrapper"> -->
SCRIPT.JS
$(function() {
$('.reorder_task').on('click',function(){
$('.reorder_task').html('Salvar');
$('#reorder-helper').slideDown('slow');
$('#sortable').sortable({
axis: 'y',
opacity: 0.7,
handle: 'span',
update: function(event, ui) {
var list_sortable = $(this).sortable('toArray').toString();
$("#save_reorder").click(function( e ){
if( !$("#save_reorder i").length )
{
$(this).html('').prepend('<i class=\"fa fa-spinner fa-spin fa-fw\"></i><span class=\"sr-only\">Loading...</span>').removeClass('btn-danger');
$("#sortable").sortable('destroy');
$("#reorder-helper").html( "<h6>Salvando</h6>");
var list_task = [];
var list_array = [list_sortable];
$.each( list_array, function( index, value ){
list_task += value;
});
alert(list_task);
$.ajax({
url: './task.php',
type: 'POST',
data: {list_order:list_task},
success: function(data) {
window.location.reload();
}
});//End Ajax
return false;
}//End If
e.preventDefault();
});// End Click
} //End Update
});//End Sortable
});// End Onclick
});
Esse código é para reordenação de tarefa, quando clicar e Reordenar ele libera a TAG li para modificação (drag & drop), consigo arrastar e o clico em Salvar para enviar um POST via AJAX para o banco e tudo certo, mas o principal, eu não posso reordenar vários de uma vez só, consigo reordenar um por vez, se ordenar o item 1 e depois o item 2, ele só vai salvar a ordem do primeiro.
Quando ele mostra no console ele pega a ordem da tarefa e mostra 1, 2, 3... podendo troca para 3, 1, 2... e assim em diante, mas se faço mais de uma modificação ele não envia.
Preciso que ele limpe a ordenação anterior e pegue a nova reordenação ou de preferencia só para a ultima.
Minha parte de select e update está respondendo, o problema é o envio de dados para o update.
Discussão (0)
Carregando comentários...