在将项目拖动到新位置时,我想输出项目的新位置。例如
Col = 1 位置= 3
意味着小部件已被移动到第一个col 3rds。
我正在使用此脚本http://net.tutsplus.com/tutorials/javascript-ajax/inettuts/
我认为最好的地方就在下面。但是我试过了
ui.item.index
获取新位置,这只是给我值 - 1而不是被拖动对象的位置作为例外。有什么想法吗?
$(settings.columns).sortable({
items: $sortableItems,
connectWith: $(settings.columns),
handle: settings.handleSelector,
placeholder: 'widget-placeholder',
forcePlaceholderSize: true,
revert: 300,
delay: 100,
opacity: 0.8,
containment: 'document',
start: function (e,ui) {
$(ui.helper).addClass('dragging');
},
stop: function (e,ui) {
alert("New position: " + ui.item.index());
$(ui.item).css({width:''}).removeClass('dragging');
$(settings.columns).sortable('enable');
}
});
答案 0 :(得分:4)
查看nettuts网站上的演示:Demo
ui.item
已经是一个jQuery对象,所以你可以这样引用它。
列的基于0的索引位置:
ui.item.parent().parent().children().index(ui.item.parent())
项的基于0的索引位置:
ui.item.parent().children().index(ui.item);
因此,如果您要在第一列中的“欢迎使用iNettuts”下拖动项目,则上面的代码将返回0
列(因此第一列)和1
项目位置(所以列中的第二项)
答案 1 :(得分:1)
只是为了通知您:脚本当前无法在Internet Explorer 9上运行 - 拖动功能无法正常工作。
我找到了以下“解决方法”:
添加
<meta http-equiv="X-UA-Compatible" content="IE=8">
到你的页面。