【发布时间】:2011-10-21 04:24:27
【问题描述】:
我刚刚了解到您可以使用 live() 而不是 bind() 来确保在使用 AJAX 重新加载内容后仍然存在事件处理程序...但是我可以使用其他添加的 JQuery 做什么,例如 .sortable() ?我有一个 UL 需要在排序或添加后重新加载;但是在 AJAX 重新加载之后,排序就不太正常了...
它并没有完全失去可排序性,但拖动变得更加困难;它会跳来跳去,似乎会切换其他两个部分,这不是我要拖动的部分。这仅在部分重新加载后发生;我的猜测是,当它重新加载时,我需要重新附加可排序的......我该怎么做?这是我的代码:
$("#sections").sortable({
start: function (event, ui) {
startIndex = ui.item.index();
},
update: function (event, ui) {
$.ajax({
type: "POST",
url: "/Form/sortSections",
data: {
formID: '@(Model.formID)',
displayOrder: ui.item.index() + 1,
sectionID: $(ui.item).attr("id"),
startDisplayOrder: startIndex + 1
},
success: function (result) {
$.get("/Form/_AllSections/@(Model.formID)", function (data) {
$("#sections").html(data);
});
},
error: function (req, status, error) {
alert(error);
}
});
}
});
【问题讨论】:
标签: ajax jquery-ui jquery jquery-ui-sortable