防止删除JqueryUI中的列表项排序

前端之家收集整理的这篇文章主要介绍了防止删除JqueryUI中的列表项排序前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有两个列表#sortable1和#sortable 2是连接的排序,如 example所示.

您可以将列表项从sortable1拖放到可排序2.但是,如果sortable 1中的项目包含类“number”,我想防止Sortable2上的下拉,从而使拖动的项目恢复为可排序1.

我在sortable2上使用了以下内容

receive: function (event,ui) {
            if ($(ui.item).hasClass("number")) {
                $(ui.item).remove();
            }

但它从两个表中删除列表项.任何帮助将不胜感激.

解决方法

您可以使用beforeStop和sortable(‘cancel’)方法的组合来验证被移动的项目.在 this example,一件物品被丢弃,我检查该物品是否有效:

>检查项目是否具有班级号码
>并检查列表项是否删除在list2中

这是我想要的稍微更硬的代码,所以你可以做的是检查丢弃的项目的父对象,以检查列表是不同的.这意味着您可能在list1和list2中有一个数字项,但它们不可互换.

jsFiddle Example

$(function() {
    $('ul').sortable({
        connectWith: 'ul',beforeStop: function(ev,ui) {
            if ($(ui.item).hasClass('number') && $(ui.placeholder).parent()[0] != this) {
                $(this).sortable('cancel');
            }
        }
    });        
});​
原文链接:https://www.f2er.com/jquery/180491.html

猜你在找的jQuery相关文章