2010-01-27 2 views
0

en essayant de mettre en place une belle sauvegarde glisser-déposer à la page de base de données. Il devrait également être capable de supprimer les lignes, j'ai utilisé une liste (ul/li). Et tout fonctionne bien, mais dès que l'action de chargement a fait son travail, le "$ (" # menuList> li> .remove "). Click" ne fonctionnera plus. Le reste des actions fonctionnent, faites glisser & drop, sérialiser pour oder, écrire dans la base de données ... Quelqu'un qui peut voir ce qui cause ce problème?jQuery .click désactivé après .load action

function sortTableMenu() { 

var order = $('#menuList').sortable('serialize'); 
$.post("PLUGINS/SortableMenu/process-sortable.php",order); 
$("#menuList").load("PLUGINS/SortableMenu/sortableMenu_ajax.php"); 

} 

$("#menuList > li > .remove").click(function() { 
var removeID = $(this).attr('id'); 
$.ajax({ 
type: 'post', 
url: 'PLUGINS/SortableMenu/removeLine.php', 
data: 'id='+removeID, 
success: function() { 
    $('#listItem_'+removeID).remove(); 
    var order = $('#menuList').sortable('serialize'); 
    $.post("PLUGINS/SortableMenu/process-sortable.php",order); 
    } 
    }); 

}); 

$('#new_documents > li').draggable({ 
addClasses: false, 
helper:'clone', 
connectToSortable:'#menuList' 
}); 

$("#menuList").droppable({ 
addClasses: false, 
drop: function() { 
var clone = $("#menuList > li#newArticleTYPE1"); 
$(clone).attr("id","listItem_newArticleTYPE1"); 
} 
}); 

$("#menuList").sortable({ 
    handle : '.handle, .remove', 
    update : sortTableMenu 
}); 

Répondre

1

Vous remplacez les éléments DOM réels que vous avez joint l'événement avec de nouveaux, ce qui exige une .live() use:

$("#menuList > li > .remove").live('click',function() { 
var removeID = $(this).attr('id'); 
$.ajax({ 
type: 'post', 
url: 'PLUGINS/SortableMenu/removeLine.php', 
data: 'id='+removeID, 
success: function() { 
    $('#listItem_'+removeID).remove(); 
    var order = $('#menuList').sortable('serialize'); 
    $.post("PLUGINS/SortableMenu/process-sortable.php",order); 
    } 
    }); 

});