jQuery UI:如何保存"可排序”;
jQuery UI: How to save "sortable"?
我有一个"任务"列表,我使用"可排序",这样用户就可以对它们进行优先级排序,将最重要的任务放在首位。当然,每次刷新页面时,它们都会返回到原来的位置。我想知道是否可以保存任务的位置?
这是我的代码(这是一个铁路项目):
<script src="http://code.jquery.com/ui/1.11.2/jquery-ui.js"></script>
<script>
$(document).ready(function() {
$('.move').sortable();
});
</script>
<%= render "form" %>
<div class="move">
<% if !@project.tasks.blank? %>
<% for item in @project.tasks %>
<div class="container">
<div class="panel panel-default">
<div class="panel-heading">
<div class='move'><%= item.title %></div>
</div>
</div>
<div class="panel-body">
<p>
<div class='move'><%= item.description %></div>
</p>
<%= link_to "Edit", edit_project_task_path(@project, item) %>
</div>
</div>
<% end %>
<% end %>
</div>
您可以使用jQuery cookie
,并使用jQuery UI可排序的toArray
:获得li位置
将可排序项的项id序列化为字符串数组。
则在负载中通过使用CCD_ 3和CCD_。
代码:
var savedOrd = $.cookie('sortOrder');
if (savedOrd) {
$.each(savedOrd.split(','), function (i, e) {
$('#' + e).insertAfter('#sortable>li:eq(' + i + ')');
});
}
$('#save').click(function () {
var saveOrd = $('#sortable').sortable('toArray');
$.cookie('sortOrder', saveOrd);
});
演示:http://jsfiddle.net/IrvinDominin/amq6gt8w/
或者,您可以调用两个服务器方法来设置和获取元素位置,而不是使用cookie。
您可以找到任务的索引并保存它,并在显示时根据索引进行排序。
要在UI上找到任务的索引,请参阅:Fiddle
$("div").click(function(){
var index = $("div").index($(this));
var position = index+1;
$('span').html(position);
})
相关文章:
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- 使用promise和mongoose对文档进行排序
- Selectize.js:如何对整数值的选项进行排序
- Javascript排序的图像弹出窗口..可以't单独弹出
- 如何通过引用var Using DataTables来进行分页或排序
- 铬:“;未捕获的语法错误:意外的标记:"
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- 为什么HTML5拖放的目标是孩子?(可排序列表)
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- AngularJs对所有页面中的所有记录进行排序
- 当属性不一致时,如何根据属性对JS对象列表进行排序
- 使用“+="操作人员
- 按从高到低对多个int变量进行排序
- jQuery UI可排序-多连接列表拖动
- Javascript排序字符串或数字
- //而不是在src=“”上使用http://"属性
- "未捕获的语法错误:意外的标记}"
- jQuery UI:如何保存"可排序”;
- MongoDB返回错误";可以't规范化查询"用于排序函数