【发布时间】:2011-07-24 23:55:18
【问题描述】:
我有一个 <form id="#form"> 有一个 <span class="con"> 并且在跨度内我有许多需要排序的 div。
<form id="form">
<span class="con">
<div class="ui-state-highlight">Item 1</div>
<div class="ui-state-highlight">Item 2</div>
...
</span>
</form>
我正在使用 sortable 函数使 div 可排序。
$("span").sortable({
connectWith: ".con"
}).disableSelection();
我正在动态添加里面的 div。但是 sortable 无法识别新添加的跨度。我知道有一个可排序的refresh 选项,它应该像live() 一样工作并重新识别新添加的内容,但我不知道如何在这个示例中使用它。
检查http://jsfiddle.net/mRyVp/8/。单击按钮以添加更多包含 div 的跨度。您将看到您可以对最初在 DOM 中但不是新添加的 div 进行排序。
【问题讨论】:
-
看来你有多个可排序的
<span>,这肯定不会作为一个单独的组工作。 -
@experimentx,是的,您可以连接多个跨度。在此处查看示例jqueryui.com/demos/sortable/#event-update。由于 span 是动态添加的,因此它不起作用,否则如果最初都在 DOM 中,它将起作用。
-
@Hussein 看来你是对的,我再看看代码。
-
我以为
refresh应该刷新动态添加的内容,但它不起作用$('span').sortable('refresh') -
你的
<span>不应该是<div>吗?或者你的<div>s 是<span>s ?
标签: jquery jquery-ui refresh live jquery-ui-sortable