【问题标题】:Removing one element from jquery sortable list on click单击时从 jquery 可排序列表中删除一个元素
【发布时间】:2023-04-02 20:03:02
【问题描述】:

我在 jQuery 中有两个可排序的列表。它们被称为 sortable1 和 sortable2。它们是

    中的
  • 。当用户将一个元素从 sortable2 拖到 sortable1 中时,该元素将克隆到 sortable2 中。一旦放入 sortable1,用户就不能再将其移回 sortable2,因为已经有另一个替代了它。

    我的问题本质上是两个方面:

    1. 如何防止放在 sortable1 中的项目被拖回 sortable2,同时仍然能够重新排列。
    2. 如何实现点击功能,以便删除您点击的可排序元素。这种行为应该只发生在 sortable1 中。

    这是脚本:

    <script>
    $(function() {
        $( "#sortable1" ).sortable({
            connectWith: ".connectedSortable"
        }).disableSelection();
                $( "#sortable2" ).sortable({
            connectWith: ".connectedSortable",
                        helper: function(e,li) {
                                        copyHelper= li.clone().insertAfter(li);
                                        return li.clone();
                                    }
        }).disableSelection();
    });    
    </script>
    

    这是列表后面的 html 的 sn-p:

    <div id="symbolbay">
         <p>Drop symbols here</p>
         <ul id="sortable1" class="connectedSortable"></ul>
    </div>
    <ul id="sortable2" class="connectedSortable">
        <li class="ui-state-highlight">Click me to delete only me</li>
        <li class="ui-state-highlight">Click me to delete only me</li>
    ...There are a whole bunch more, finally ending in...
    </ul>
    

    感谢您的帮助!我对这项惊人的技术很陌生,我一直对它的功能感到惊讶。

【问题讨论】:

  • 你能包含一些 CSS 吗?在没有任何样式的情况下看到这个很难理解。
  • @ChrisHerbert CSS 与排序逻辑有什么关系?
  • jsfiddle.net/R8cTb 仅据我所知,这有意义吗?请记住,您必须在某些时候区分这两个列表
  • 什么都没有,但是如果你将代码粘贴到没有 CSS 的 jsfiddle 中,就很难知道发生了什么。让我们更轻松。

标签: javascript jquery html jquery-ui


【解决方案1】:

你应该把它分成两个问题。关于#2:

$('#sortable1 .ui-state-highlight').click(function(){
  $(this).remove();
});

【讨论】:

  • 这很好用。我怎样才能用克隆做到这一点?如有必要,我会将 .addClass 放在哪里?感谢您的帮助!
  • 没关系,我想通了。谢谢您的帮助!根据您的建议,我将其分为两个问题。
【解决方案2】:

我使用以下代码(@ChrisHerbert 代码在我的情况下不起作用):

$("#sortable").on("click", "li", function () {
    $(this).remove();
});

【讨论】:

    猜你喜欢
    • 2011-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-22
    • 1970-01-01
    • 2012-01-11
    相关资源
    最近更新 更多