Tôi đang sử dụng Giao diện người dùng jQuery có thể sắp xếp để cho phép người dùng kéo và thả các hàng trong bảng. Điều này cho phép người dùng xếp hạng các mục trong bảng dựa trên tùy chọn của họ. Khi người dùng đã hoàn tất việc đặt hàng danh sách của mình, họ nhấn nút lưu thực hiện cuộc gọi Ajax. Thứ hạng mới được lưu vào cơ sở dữ liệu và bảng nổi bật một thời gian ngắn.Làm cho hàng của bảng hoạt động trở lên trong giao diện người dùng có thể sắp xếp
Tôi hiện đã thêm một nút bổ sung sẽ gửi một mục thẳng lên đầu danh sách. Nó cũng là ajax. Nó hoạt động rất tốt, ngoại trừ việc tôi muốn thêm một hiệu ứng chuyển tiếp trong đó bởi <tr>
sẽ tách ra và kéo chính nó lên đầu bảng và đẩy các hàng sau xuống. Điều này có thể không? Đây là mã Tôi đang sử dụng:
Mã này xử lý các cuộc gọi để lưu thay đổi cơ sở dữ liệu từ "kéo-và-thả" tính năng:
<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);
}
});
}
Các mã sau đây là mới "gửi -nói đầu trang "tôi đã thêm. Đây là thời điểm tôi muốn quá trình chuyển đổi xảy ra:
<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="↑">
Có thể sẽ dễ dàng hơn khi sử dụng danh sách. Hoặc bạn có thể kiểm tra (với một cái gì đó giống như Firebug) những gì jQuery UI hiện khi bạn kéo một mục. Sau đó, sử dụng cùng một giao diện người dùng jQuery để làm cho bạn chuyển đổi –