大家好,我正在使用UI进行一些拖放,问题是我无法启动“克隆”。
我有2个<ul><li></li></ul>
列表,我想从列表1拖到列表2确定这个位很容易,但是让“克隆”保留在列表1中则不行。我需要/想要发生的是从列表1拖动到列表2(单向拖动),然后在列表2中接收隐藏删除拖动项目 - 好听起来很奇怪但拖动项目的ID加载基于该页面的页面ID在第二个<li>
<ul>
到目前为止,“我们”看起来像这样:
$('ul#inputs_menu li ul').sortable({
connectWith: "ul#layout_form",
}).disableSelection();
$('ul#inputs_menu li ul li').sortable({
helper: "clone"
}).disableSelection();
$(' ul#layout_form' ).sortable({
receive: function(event, ui) {
var new_item = (ui.item).attr('id');
$('ul#layout_form').append('<li><div id="'+new_item.substr(4)+'"class="'+new_item.substr(4)+' inputs radius_10" ></div></li>');
$('#'+new_item.substr(4)).load('includes/text.php?fld_name='+new_item.substr(4));
}
}).disableSelection();
建议请 - 谢谢
答案 0 :(得分:1)
而不是原始的ui.item
,您需要ui.helper
,这是克隆。此外,您可以使用.appendTo()
来减少整体代码和选择器工作,如下所示:
$('#inputs_menu li ul').sortable({
connectWith: "ul#layout_form",
}).disableSelection();
$('#inputs_menu li ul li').sortable({
helper: "clone"
}).disableSelection();
$('#layout_form' ).sortable({
receive: function(event, ui) {
var new_item = ui.helper.id.substr(4);
$('<li><div id="'+new_item+'"class="'+new_item+' inputs radius_10" ></div></li>')
.appendTo('#layout_form')
.find("div").load('includes/text.php?fld_name='+new_item);
}
}).disableSelection();