我已经看到了许多使用一个模型进行 jQuery 排序的示例,但是我还没有找到任何对两个模型有用的东西。照这样说...
我有两个模型:文件夹和任务。
这是可行的:我可以对文件夹中包含的任务进行排序。
这就是我想要的:能够将任务从一个文件夹拖放到另一个文件夹中,并且新文件夹中的任务被正确排序(即,如果在任务 #1 和任务 #3 之间拖动,则新任务将被排序作为任务#2)。任何人都可以提供有关如何执行此操作的帮助吗?
这是我到目前为止所拥有的:
文件夹/index.html.erb....
<ul id="folder">
<% @folders.each_with_index do |folder, i| %>
<li id="folder_<%= folder.id %>"> <%= folder.name %> </li>
<% if !folder.tasks.blank? %>
<ul id="task">
<% folder.tasks.each do |task| %>
<li id="task_<%= task.id %>"><%= task.name %></li>
<% end %>
</ul>
<% end %>
<% end %>
</ul>
<script type="text/javascript">
// Sorting the list
$(document).ready(function(){
$(function() {
$('#task').sortable(
{
opacity: 0.6,
cursor: 'move',
connectWith: '#folder',
receive: function(event, ui) {
$.ajax({
type: 'put',
data: {folder_id : '#{folder.id}' },
dataType: 'script',
complete: function(request){
$('#task').effect('highlight');
}, url: '/tasks/change_folder'
})
},
update: function(){
$.ajax({
type: 'post',
data: $('#task').sortable('serialize') ,
dataType: 'script',
complete: function(request){
$('#task').effect('highlight');
},
url: '/tasks/sort'
})
}
});
});
});