我正在使用Jquery UI可排序:
$("ul.filter_age").sortable({
handle: ".handle",
update: function (event, ui) {
var data = $('#formage').serialize();
$.ajax({
data: data,
type: 'POST',
url: '/path/to/php/script',
success:function(data) {
$('#age_form').html(data);
}
});
}
});
因此,一旦某人执行排序,我就会调用一个php脚本来获取信息并更新数据库中的视图顺序。然后我从数据库中获取所有数据并将其输出回jquery脚本,以便他们可以看到更新的视图顺序。但是,当发生这种情况时,可排序脚本不再有效。在ajax更新之后我无法拖动列表。
所以问题是,如何通过jquery / ajax进行调用并返回html替换现有的html并使sortables仍然有效?返回的html与原始的可排序html相同。我是否必须在成功函数中重新初始化可排序的jquery代码?
答案 0 :(得分:0)
好的我做的是将它放入一个函数并以这种方式调用它。如果这是最佳方式,或者有更好的方法,请告诉我。谢谢!
function updateAgeSort() {
$("ul.filter_age").sortable({
handle: ".handle",
update: function (event, ui) {
var data = $('#formage').serialize();
$.ajax({
data: data,
type: 'POST',
url: '/path/to/php/script',
success:function(data) {
$('#age_form').html(data);
updateAgeSort();
}
});
}
});
}
updateAgeSort();