2010-01-27 61 views
0

試圖建立一個很好的拖放保存到數據庫頁面禁用。 它也應該能夠刪除行,我已經使用了一個列表(ul/li)。並且一切正常,但只要加載操作完成了它的工作,「$(」#menuList> li> .remove「)。click」將不再工作。其餘的操作工作,拖動&下降,爲oder序列化,寫入數據庫... 任何人都可以看到是什麼原因導致此問題?jQuery的。點擊後,.load行動

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 
}); 

回答

1

要更換實際的DOM元素,你連接的情況下用新的,這需要一個.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); 
    } 
    }); 

});