【发布时间】:2011-09-12 19:56:24
【问题描述】:
我正在使用连接到可排序列表的 jQuery UI 可拖动列表,它通常运行良好,只是当将项目拖放到可排序列表时,它似乎没有正确克隆原始元素 id 或任何关联的 jquery 数据( )。
奇怪的是,这些东西都可以从接收器函数内部获得,但它似乎并没有真正将它们保存到元素中,所以诸如可排序列表的更新函数之类的东西永远不会正确看到新删除的元素,因为新的 li 元素没有真的有身份证。
我做错了什么?!
Javascript:
$(document).ready(function () {
$("#dest").sortable( {
update : function () {
onUpdate();
},
receive: function(event, ui) {
alert("dropped item ID: "+ui.item.attr('id'));
}
});
jQuery('#src > li').draggable({helper:'clone',connectToSortable:'#dest'});
});
function onUpdate() {
var order = $('#dest').sortable('toArray');
var txt = "Order: "+order;
$("#info").text(txt);
}
HTML:
Source List (dragable):
<div>
<ul id="src">
<li id="src_0">src 0</li>
<li id="src_1">src 1</li>
<li id="src_2">src 2</li>
</ul>
</div>
Target List (sortable):
<div>
<ul id="dest">
<li id="dest_0">dest 0</li>
<li id="dest_1">dest 1</li>
<li id="dest_2">dest 2</li>
</ul>
</div>
<span id="info">
Waiting update...
</span>
【问题讨论】:
标签: jquery jquery-ui jquery-ui-sortable