我正在使用JQuery nestedSorting插件 我可以拖放多个元素,如何获取拖动元素的id?
<script>
$(document).ready(function(){
$('.sortable').nestedSortable({
handle: 'div',
items: 'li',
toleranceElement: '> div'
});
});
</script>
修改
我像这样编辑了jquery函数
$(document).ready(function(){
var movedItemId = '';
$('.sortable').nestedSortable({
handle: 'div',
items: 'li',
toleranceElement: 'div',
}).on("sort", function(a, item){
movedItemId = '';
$('div', item.item).each(function(){
movedItemId += ' ' + $(this).attr('id') + ',';
});
var id = movedItemId.substr(0, movedItemId.length - 1);
var data = {pid:id};
$.ajax({
type: "POST",
data: data,
url:"{{ path('v2_pm_patents_trashpatents') }}",
cache: false,
});
});
});
</script>
我面临的问题
它调用我想用Ajax执行的方法但它多次调用它我只想执行一次方法。
当我拖动包含子项目的项目时,我只希望父项目的ID不是子项目的ID,
如何解决这些问题?
由于
答案 0 :(得分:0)
nestedSortable插件存在一些限制。
主要方法是.serialize
,.toArray
或.toHierarchy
来获取整体价值。
该插件使用jQuery Sortable UI。我查看了它的事件回调。我尝试了on("change", [...])
,但这似乎不起作用。 on("sort", [...])
确实有效,但每次移动鼠标时都会调用它。查看“事件”选项卡下的不同事件:http://jqueryui.com/demos/sortable/
这是绑定到sort
回调的工作版本:http://jsfiddle.net/QL8Yj/4/