我正在使用可排序的jQuery UI來允許用戶拖放表格行。這允許用戶根據他們的偏好對錶格中的項目進行排名。一旦用戶完成了列表的排序,他們按下一個執行Ajax調用的保存按鈕。新的等級保存到數據庫中,並且表格簡要地突出顯示。在可排序的UI中製作表格行以向上移動
我現在已經添加了一個額外的按鈕,將直接發送一個項目到列表的頂部。這也是ajax。它工作得很好,除了我想添加一個轉換效果,其中<tr>
將脫離並拖動到表的頂部,並向下推動下面的行。這可能嗎?下面是我使用的代碼:
該代碼處理調用從「拖和拖放」功能將更改保存到數據庫中:
<input type="button" value="Save Queue" id="saveButton" class="list-button">
$(document).ready(function(){
$("#sortable").sortable();
$("#saveButton").click(persist);
});
// Persist function (save order)
function persist() {
var data = $("#sortable").sortable('toArray');
$.ajax({
traditional: true,
url: "/gz/index.cfm/membros/rankListByAjax?order="+data,
type: "POST",
success: function(msg){
$("#sortable tr").effect("highlight", {}, 1000);
}
});
}
下面的代碼是新的「發-item-to-top「按鈕,我添加了。這是當我想過渡發生時:
<form ...onsubmit="
$.ajax({
dataType: 'script',
type: 'post',
url: '/gz/index.cfm?controller=membros&action=send-item-to-top&key=1082&format=js&modType=replace',
data: $(this).serialize(),
success: function(data, textStatus){$(this).attr('disabled','false');},
beforeSend: function(XMLHttpRequest){$(this).attr('disabled','true');}}); return false;" text="↑">
也許這會更容易使用一個列表。或者你可以檢查(像Firebug的東西)當你拖動一個項目時,jQuery UI會做什麼。然後使用jQuery UI的相同方式來讓你轉換 – 2011-01-13 20:06:50