【问题标题】:jQuery - De-selecting all items on dropjQuery - 取消选择所有项目
【发布时间】:2013-06-22 01:47:18
【问题描述】:

我有两个 ListView,一个可供用户使用,另一个已分配给该用户。我已经关注了几篇文章,并达到了可以在任一列表中选择多个条目并来回拖动它们的地步。我也到了这样的地步,在释放单个项目后,它会自动取消选择自身。但是,当我拖动多个项目时,我遇到困难 - 拖动的项目将取消选择,但没有兄弟姐妹会这样做,而是保持选中状态。

    $(function () {
    $("#AvailableCommGroups li, #AssignedCommGroups li").click(function () {
        $(this).toggleClass("selected");
    });
    $("#AvailableCommGroups, #AssignedCommGroups").sortable({
        connectWith: ".connectedSortable",
        start: function (e, info) {
            info.item.siblings(".selected").appendTo(info.item);
        },
        stop: function (e, info) {
            info.item.after(info.item.find("li"));
        },
        receive: function (e, info) {
            info.item.toggleClass("selected");
        }
    });
});

如何修改上述内容,以便所有具有“已选择”类的项目在被放入新列表后取消选择?

【问题讨论】:

    标签: jquery drag-and-drop jquery-ui-sortable selectable


    【解决方案1】:

    这是因为您只在接收功能中切换项目的类别。尝试从其兄弟元素中删除该类

    receive: function (e, info) {
        info.item.toggleClass("selected");
        info.item.siblings(".selected").toggleClass("selected");
    }
    

    【讨论】:

    • 不幸的是,这似乎没有任何作用。我已经按照您提供的顺序和反转行顺序进行了尝试,但是无论哪种方式,被拖动的行都会取消选择,但随附的行不会。
    • 也许你可以设置一个 jsfiddle 以便我可以帮助你:)
    猜你喜欢
    • 2015-02-13
    • 1970-01-01
    • 2011-04-26
    • 1970-01-01
    • 1970-01-01
    • 2018-05-18
    • 1970-01-01
    • 1970-01-01
    • 2021-10-18
    相关资源
    最近更新 更多