我正在使用jQuery 1.4和jQuery UI排序,我的问题是我在同一页面中有两个可排序的实现。
这是有效的:
catlst.sortable({
handle:'div.ordenador',
update: function(event,ui) {
var nx = ui.item.next();
var pr = ui.item.prev();
var im = ui.item;
var catid = im.parent().parent().attr('catid');
var direc = nx && nx.text() ? 'antes' : 'despues';
$.post('curso/ordenar',
'tipo='+catid+
'&id='+im.attr('actividad_id')+
'&direc='+direc+
'&refid='+(direc=='antes'?nx.attr('actividad_id'):pr.attr('actividad_id')),null);
}
});
它可以成功排序,但第二个:
$('#clases').sortable({
handle: 'div.ordenador-carpeta',
axis: 'y',
update: function(event,ui) {
var nx = ui.item.next();
var pr = ui.item.prev();
var im = ui.item;
var direc = nx && nx.text() ? 'antes' : 'despues';
}
});
在这两种情况下,#clases和'catlst'都是div,里面只有div。
第二个代码根本不起作用,我可以拖动但是丢弃,页面布局会丢失,就好像刚删除并重新加载页面一样。
另外,Firebug给了我这个错误: 尝试在已清除的范围上运行compile-and-go脚本 jquery.ui.js 第178行
这让我发疯,我应该提供更多信息吗?
答案 0 :(得分:1)
问题在于可排序项目中的<script>document.write...</script>
。因此,每当他们改变位置时,document.write
曾经工作并破坏页面,我知道使用它并不是一个好主意,事实上我将它们从我的j中移除。