2010-03-09 63 views
5

我有一个可以排序的列表,我可以通过jquery添加和删除另一个脚本的元素,并且有一个奇怪的问题。这些新生成的项目似乎是可拖动的,但它们实际上并不排序,除非我们在页面加载时已经存在它们。我试过使用可排序('刷新'),但它似乎没有效果。jquery ui sortable('刷新')不工作!

+0

我也一直有这个问题。在类选择器上运行刷新不会在DOM中添加类“ui-sortable”。你有没有解决这个问题? – dmrnj 2010-10-14 21:52:19

+0

我不记得了。我想我最终会抛弃它并做其他事情。 – 2010-10-16 04:58:39

回答

2

为了给你关闭这个问题的机会,只是为了参考起见,以防其他人绊倒了这一点,这似乎在最新的jquery-ui中工作正常。这里是一个jsfiddle:http://jsfiddle.net/fordlover49/mVrGA/

+0

不完全是“解决方案”,但问题不再存在。尽管这些信息是相同的。 – 2012-01-27 07:17:06

+0

这不是一个解决方案。你的例子有两个列表,其中所有项目已经被初始化为可排序。这个问题是关于要添加到已经初始化列表的项目。 – Mario 2016-03-22 16:00:23

+0

他们并没有被初始化为可排序。请注意,初始化后,它会将其他项添加到无序列表中。为了证明这一点,只需在添加“已添加”列表项的代码周围执行setTimeout,您将看到列表可排序而没有新项目,并且在超时时间过后,新项目可自动排序。正如我在最初的回复中提到的那样,我没有修复它,我只是注意到jQuery-ui团队在最新版本中修复了这个问题。 – PriorityMark 2016-04-20 00:03:23

2

我有一个类似的问题。一旦我添加了一个新的元素到可排序列表中,没有什么是可拖动的了。我的解决方案是打电话给destroy方法:

$(".selector").sortable("destroy"); 

首先,然后再次分类。