我正在尝试将我的列表项从一个无序列表移动到另一个。update.js.erb 在更新发生时被调用(我可以看到它在日志中被调用而没有错误)。
我对 jQuery 很陌生,所以我为我的无知道歉。
<% if @task.complete? %>
$('#task_<%= @task.id%> li').detach().appendTo($('#complete_tasks ul'));
$.('#complete_tasks').sortable_list();
<% else %>
$('#task_<%= @task.id %> li').detach().appendTo($('#incomplete_tasks ul'));
$.('#incomplete_tasks').sortable_list();
<% end %>
我在如何将项目从一个列表移动到另一个列表中看到了 .detach() ?
我尝试了许多不同的形式,但我的猜测是我选择了错误的列表或列表项。
非常感谢任何/所有反馈!:)
更新1:
ul id="complete_tasks" data-update-url="http://localhost:3000/tasks/sort_incomplete" class="ui-sortable"
li class="task" id="task_1"
...
同样,不完整的任务
ul id="incomplete_tasks" data-update-url="http://localhost:3000/tasks/sort_complete" class="ui-sortable"
li class="task" id="task_7"
...
更新 2:这是最终的工作,当我最初测试它时,我有一个不同的函数调用,它导致了这个问题。
<% if @task.complete? %>
$('#complete_tasks').append($('#task_<%= @task.id %>'));
<% else %>
$('#incomplete_tasks').append($('#task_<%= @task.id %>'));
<% end %>
如果没有额外的 $( ... ),该函数只会打印 #task_2 所以我添加了它并删除了错误的函数调用,一切都很好!