【问题标题】:connecting sortable lists disallowing sorting on the first list jQuery连接可排序列表不允许对第一个列表 jQuery 进行排序
【发布时间】:2011-03-16 11:00:36
【问题描述】:

我不知道这是否可能,但我想做一些事情,

我有 2 个连接的可排序列表。我不想对第一个列表进行排序,但我需要能够将项目拖到第二个列表中。

这是我的代码

$(document).ready(function() {
        $( "#webappsearchresults12267, #portfolio-ul" ).sortable({
            helper: 'clone',
            connectWith: ".connect",
            scroll: false,
            tolerance: 'intersect',
        stop: function(){
            var order = $("#portfolio-ul").sortable('toArray');
            $("#CAT_Custom_196863").val(order);
        }

        })
    });

<ul id="#webappsearchresults12267>
<li>item-1</li>
<li>item-2</li>
<li>item-3</li>
</ul>
<ul id="#portfolio-ul">
<li>item-4</li>
<li>item-5</li>
<li>item-6</li>
</ul>

我还可以选择克隆我从第一个列表中选择的项目... "helper: 'clone'," 似乎对我不起作用,

任何人有什么想法吗?我可能不是在看一个可排序的列表解决方案,而是拖放.. 为第二个列表提供一个可排序的列表。

有什么想法吗?

【问题讨论】:

    标签: jquery jquery-ui-sortable


    【解决方案1】:

    首先,从 HTML 中的 ID 中删除“#”,然后在调用“toArray”时使用 LI 项目的 ID 来获取一些数据。我发布了工作示例:

    HTML:

    <ul id="list1">
        <li id="ul_item_1">item-1</li>
        <li id="ul_item_2">item-2</li>
        <li id="ul_item_3">item-3</li>
    </ul>
    <br>
    <br>
    <ul id="list2">
        <li id="ul_item_4">item-4</li>
        <li id="ul_item_5">item-5</li>
        <li id="ul_item_6">item-6</li>
    </ul>
    

    JS

    $( "#list1" ).sortable({
        helper: 'clone',
        connectWith: "#list2",
        scroll: false,
        tolerance: 'intersect',
    stop: function(){
        var order = $("#list2").sortable('toArray');
        alert( order );
    }
    
    }).disableSelection();
    
    $( "#list2" ).sortable().disableSelection();
    

    http://jsfiddle.net/CoolEsh/4XAXR/3/

    【讨论】:

    • 传奇!这就是我所追求的,对不起,我不是要在 id 中添加 #,我必须编写列表,因为在我的示例中它们是动态的
    • 有什么办法可以再次从列表2拖到列表1吗?
    • 当然!只需将propper配置添加到 $( "#list2" ).sortable().disableSelection();例如 $( "#list2" ).sortable( {connectWith: "#list1", } ).disableSelection();
    • 太棒了,我认为这会很好用,不过我有一个问题,我有点希望列表 1 的项目在列表 1 中无法排序,并且还能够在一次并将其拖入列表 2...我知道我很痛苦大声笑
    • 试试这个代码:jsfiddle.net/CoolEsh/FAmk6/1 但我现在没有时间找到将多个元素从列表 1 拖到列表 2 的方法,抱歉...我刚结婚)))
    猜你喜欢
    • 1970-01-01
    • 2010-12-25
    • 2014-06-21
    • 1970-01-01
    • 2014-01-07
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    相关资源
    最近更新 更多