gpt4 book ai didi

jquery - 取消 JQGrid 之间的拖放

转载 作者:行者123 更新时间:2023-12-01 03:50:36 32 4
gpt4 key购买 nike

我需要在网格之间拖放行时提示用户确认。目前,如果确认为"is",我正在尝试为该行分配“可接受”的类别,然后将 drop_opts 设置为仅接受该类别。下面是我的连接声明和确认函数,我排除了网格其余部分的代码,因为它不是必需的。

$('#MyGrid').jqGrid('gridDnD', { 
connectWith: '#MyGrid2',
onstart: function(evt, ui) {onjqstart(evt, ui)},
drop_opts: { accept: function(el) { return el.hasClass('acceptable'); } }


function onjqstart(evt, ui) {
var tmp = confirm("Drop it?");
if (tmp) {
$(ui.helper).addClass('acceptable');
}
}

对于接受函数,它看起来像“el”变量是一个用于保存可拖动行的容器,因此显然不会将我的类添加到其中,并且该容器不存在或在我的中不可用onjqstart 事件。因此,任何有关如何将类分配给正确元素或尝试此操作的更好方法的建议将不胜感激。

最佳答案

我想出了如何做到这一点。使用 before drop 函数效果更好。在该函数中,如果用户拒绝 drop,只需将 drop 设置为 false 即可。

$('#MyGrid').jqGrid('gridDnD',{
connectWith: '#MyGrid2',
beforedrop: function(evt, ui, data, source, target) {beforejqdrop(evt, ui, data, source, target)},
ondrop: function(evt, ui, data) {onjqdrop(evt, ui, data)},
dropbyname: 'False',
droppos: 'first',
autoid: 'True',
autoidprefix: 'dnd_',
dragcopy: 'False'});

function beforejqdrop(evt, ui, data, source, target) {
if (!confirm('is it ok to drop it?')) {
ui.helper.dropped = false;
}
}

关于jquery - 取消 JQGrid 之间的拖放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9071324/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com