我有一个变量origOrder = $("#sortable").find('li');
和来自ajax响应response.lists
的json对象,其中包含列表项
如何将这些新列表添加到origOrder
?
感谢。我希望你理解我的问题。
修改
我正在使用jquery-ui sortable。我将列表的原始顺序存储到origOrder
,因此当用户取消排序时,我可以恢复原始列表。所以我不能再次使用find('li')
,因为如果用户开始对列表进行排序,则origOrder将被覆盖。
答案 0 :(得分:0)
你可以像这样追加
origOrder = $("#sortable").find('li');
origOrder.append(response.lists);
<强>更新强>
在排序之前保留列表,可以将其保存在变量
中var origOrderBeforesort = $("#sortable").find('li');
如果用户应用排序,您可以使用旧变量origOrderBeforesort
。
答案 1 :(得分:0)
如果我理解正确......
由于将jQuery集合与.add()
合并不能可靠地保留顺序,因此您需要保留一组集合,每个集合都是独立可靠的。
最初:
var $sortable = $("#sortable");
var origOrder = [$sortable.find('li')];
然后,每当包含新列表项的响应到达时:
origOrder.push($(response.lists));
$.each(response.lists, function(i, item) {
$(item).appendTo($sortable);
});
然后,恢复:
$.each(origOrder, function(i, $sublist) {
$sublist.each(function(j, item) {
$(item).appendTo($sortable);
});
});
至少,这是原则。细节可能有所不同。