Javascript johnny sortable:如何使用sort.sortable(“序列化”);
我使用: 使用这个插件,您可以更改列表的顺序或表行的顺序(这就是我的情况)。例如,使用鼠标将第四行拖动到第二个位置。宽度插件方法sort.sortable(“序列化”)您可以访问新订单 但是如何使用sort.sortable(“序列化”) 您可以在这里找到一个示例: 我想将表格行的新顺序发送到myurl.php 如何使用可排序(“序列化”)通过$发送新订单。将发送到php脚本 HTML:Javascript johnny sortable:如何使用sort.sortable(“序列化”);,javascript,jquery,twitter-bootstrap,jquery-ui-sortable,Javascript,Jquery,Twitter Bootstrap,Jquery Ui Sortable,我使用: 使用这个插件,您可以更改列表的顺序或表行的顺序(这就是我的情况)。例如,使用鼠标将第四行拖动到第二个位置。宽度插件方法sort.sortable(“序列化”)您可以访问新订单 但是如何使用sort.sortable(“序列化”) 您可以在这里找到一个示例: 我想将表格行的新顺序发送到myurl.php 如何使用可排序(“序列化”)通过$发送新订单。将发送到php脚本 HTML: 如果使用该插件对表行进行了预排序,则可以迭代这些行并将它们的id添加到数组中 onDrop: functio
如果使用该插件对表行进行了预排序,则可以迭代这些行并将它们的id添加到数组中
onDrop: function ($item, container, _super) {
var myObject = sort.sortable("serialize");
var sorted = [];
$('tr').each(function () {
sorted.push($(this).data('id'));
});
$.post('myurl.php', {blah: sorted}, function(){});
});
我还将
blah
用大括号括起来,表示它是一个对象。否则您可能会遇到语法错误。要通过$发送新订单。只需执行以下操作:
var dataToSend = sort.sortable("serialize").get();
$.post("ajax-sort.php", {test:dataToSend}, function(data){});
在ajax-sort.php上,您会收到如下消息:
[test] => Array
(
[0] => Array
(
[children] => Array
(
[0] => Array
([id] => 39)
[1] => Array
([id] => 37)
[2] => Array
(
[subContainer] => false
[id] => 38
)
... snip ...
)
)
)
)
如果要更改此数组的结构,请重写插件中的serialize()方法
您可以在这里找到一个自定义serialize()方法的示例:我创建了一个脚本,可以将输出排序并转换为json格式:
function start_sorting(classvariable){
var output=[];
var parent="";
var selector=$("."+classvariable+" li");
selector.each(function(key,value){
var id=selector.eq(key).attr('id');
var index=key;
if(selector.eq(key).parent().parent().parent().find(">li").length==0){
parent='0';
}else{
parent=selector.eq(key).parent().parent().parent().find(">li").attr('id');
}
output.push({id:id,index:index,parent:parent});
});
console.log( JSON.stringify(output));
}
[test] => Array
(
[0] => Array
(
[children] => Array
(
[0] => Array
([id] => 39)
[1] => Array
([id] => 37)
[2] => Array
(
[subContainer] => false
[id] => 38
)
... snip ...
)
)
)
)
function start_sorting(classvariable){
var output=[];
var parent="";
var selector=$("."+classvariable+" li");
selector.each(function(key,value){
var id=selector.eq(key).attr('id');
var index=key;
if(selector.eq(key).parent().parent().parent().find(">li").length==0){
parent='0';
}else{
parent=selector.eq(key).parent().parent().parent().find(">li").attr('id');
}
output.push({id:id,index:index,parent:parent});
});
console.log( JSON.stringify(output));
}