如何使用jQuery UI进行排序来排序第二行?
我正在尝试制作一个非常简单的网格插件。当我想允许用户更改列顺序时,我的问题就开始了(不对表格行进行排序,例如改变第一列以显示在表格的右侧)。我正在使用jQuery UI排序,但我发现当用户开始拖动时,jquery ui在thead中添加了一个新的th。这使得最后一个(桌子右边的那个)水平地离开桌子!如何使用jQuery UI进行排序来排序第二行?
当我拖动我拖动的时候,添加的th被删除,但是在Chrome中,最后一个(移动到右边,离开表格)不会回到表格中。在IE和FF中,它确实回到了表格中,但拖动效果非常好。
我的代码:
table.find("thead>tr").sortable({
axis: "x",
placeholder: "ui-state-highlight",
handle: ".sortable",
start: function(event, ui) {
/* I'm doing some stuff */
},
update: function(event, ui) {
/* I'm doing some stuff */
}
});
对不起,事先我的英语不好,谢谢。
迭戈
更新:
如有岗位不明确告诉我,我会尽力去改变它。谢谢!
我遇到了同样的问题,最后找到了解决方法。基本上,JQuery UI Sortable在第一次创建时会检查元素的方向。但是,如果元素中没有任何项目,它将永远不会被视为水平元素。解决方法是每次将项目放入它时销毁并重新创建可排序对象。
http://www.judeosborn.com/post/5751510741/jquery-sortable-droppable-orientation-problem
我汇报这一问题向开发者以及:
问题#1:铬(即webkit浏览)错误尚未固定的,但在这里是: - http://bugs.jqueryui.com/ticket/4765
问题#2:可排序使用轴: 'X',是与jQuery 1.8提高.12,但仍然有一个错误,可以防止它检测到该轴:'x'被指定。我在这里提交了解决方案: - http://bugs.jqueryui.com/ticket/6702
不是一个解决方案(还),但黑客攻击:具体的代码可以在我的博客上找到
$var.sortable({
placeholder: '.my-placeholder'
});
css:
.my-placeholder {
display: none;
}
我现在正在寻找在特定事件期间隐藏占位符或试图有条件地显示它。我会更新,如果我得到任何地方,但这个黑客有点停止'额外列'的问题。
谢谢orolo,我会试试看。如果您提前预约,请更新您的答案。 – Diego 2011-09-08 19:13:21
不,我不得不使用ul,但我没有关闭这个问题,因为我想知道如何去做。 – Diego 2011-04-26 15:56:38