有许多事件要管理,我选择了一个选择来分解事件并将它们放到日历中,我做了这个<https://jsfiddle.net/max1974/mr5yxe7o/4/>
但我面临两个问题.....1°最初将选择中的对象拖放到日历中,但是如果您从选择中选择其他项目,则拖放到停止工作。2°,当我从鼠标上放下对象消失,只有当我释放它时才会重新出现。你能帮我一下吗?
请查看我的完整工作界面:https://jsfiddle.net/gq8eofyL/
您必须使用helper()函数克隆select2内的元素对象,并避免相对位置隐藏select2主<span>
外的元素。就像下面这个例子:
helper: function(){
return '<li class="select2-selection__choice ui-draggable ui-draggable-handle">'+$(this).attr('title')+'</li>';
}});
另外,使用Select2 events: https://select2.org/programmatic-control/events为了在Select2重新创建元素时重新初始化可拖拽元素,每次选择/删除元素时(参见上面的注释1):
function initSelectDraggable(){
$("ul.select2-selection__rendered li").each(function(){
$(this).data('event', {
title: $.trim($(this).text()),
stick: true
});
$(this).draggable({
revert: true,
revertDuration: 0,
helper: function()
{
return '<li class="select2-selection__choice ui-draggable ui-draggable-handle">'+$(this).attr('title')+'</li>';
}
});
});
}
感谢它工作得很好,现在的问题仍然是,当我放下事件时,我失去了数据id,数据-num,我需要将它们保存在DB中,事件在日历中保持蓝色,而不是选择的颜色。再次感谢大家jsfiddle.net/max1974/bmqdax0f/57/