我有一个从数据库中检索的列表。 列表的数量是未定义的,因为它们来自数据库。 这些列表可以拖到其他列表中。 这是代码
<?php while(..condition..){ ?>
<ul id="test-list-sub<?=$x?>" class="connectedSortable2" style="padding-bottom:10px;">
<li id="listItemSub_<?=$row['id']?>">
<table>...content here...</table>
</li>
</ul>
<?php $x++; } //end while ?>
的Javascript
for(var y=0; y<<?=$x?>; y++){
$("#test-list-sub"+y).sortable({
handle : '.handle',
connectWith: ".connectedSortable2",
update : function () {
var order = $("#test-list-sub"+y).sortable('serialize');
alert(order);
//$("#info2").load("process-sortable.php?"+order+"&panel=2");
}
});
}
此过程有效,但问题是当我尝试获取列表项时 [对象] [对象]但是当我尝试更改
时var order = $("#test-list-sub"+y).sortable('serialize');
到
var order = $("#test-list-sub0").sortable('serialize'); //or any number 0-number of lists
我得到了价值。似乎在sortable的'update'部分中传递的'value y'是y的最后一个值。我该怎么做才能从列表中获取值?
答案 0 :(得分:0)
找到答案
$('.connectedSortable2').each(function() {
var pid = $(this).attr('id').split('_')[1];
$("#test-list-sub_"+pid).sortable({
handle : '.handle',
connectWith: ".connectedSortable2",
update : function () {
var order = $("#test-list-sub_"+pid).sortable('serialize');
alert(order);
//$("#info2").load("process-sortable.php?"+order+"&panel=2");
}
});
});
我使用了每个函数来获取它们。因为他们有同一个班级。 答案来自jquery sortable > nested uls