我有2个名单:
<h3>Available page layouts</h3>
<ul id="pagepool" class="connectedSortable">
<li id="I1" class="ui-state-default"></li>
<li id="I2" class="ui-state-default"></li>
<li id="I3" class="ui-state-default"></li>
<li id="I4" class="ui-state-default"></li>
<li id="I5" class="ui-state-default"></li>
</ul>
<h3>Document structure</h3>
<ul id="docstruct" class="connectedSortable"></ul>
将“pagepool”列表中的项目拖动(克隆)到“docstruct”列表中,然后手动排序。 docstruct列表中可能存在重复的页面样式(具有重复的id属性)。
我想要做的是通过php文件/ ajax请求一个唯一的md5哈希值,并在删除项目后将该哈希值添加到被删除项目的rel属性中。到目前为止我尝试的所有内容都会更新“pagepool”原始项目。
如何修改此选项以仅定位克隆项目?:
$( "#pagepool li" ).draggable({
connectToSortable: '#docstruct',
helper: 'clone',
revert: 'invalid',
opacity: '.7'
});
$( "#docstruct" ).sortable({
placeholder: "ui-state-highlight",
revert: true,
receive: function(event, ui) {
$.get('ajax/uniqid.php', function(data){ui.item.attr('rel', data)})
}
});
答案 0 :(得分:0)
不确定为什么会这样,但这是我发现的。
在receive事件中,您无法访问可排序列表中正在创建的实际项目。帮助程序指向仅用于拖动的克隆,项目是您单击以拖动的原始项目。
但是,beforeStop事件在接收事件之前触发。在beforeStop中,该项目实际上是列表中的项目。因此,在beforeStop中,您可以保存该项目,然后在接收中使用它。