2013-03-01 55 views
1

這裏我指的演示:
http://jqueryui.com/sortable/#connect-lists如何更改jQuery UI排序(連接列表)演示,以便只有一個列表實際可排序?

由於是,這兩個列表可排序,你可以從一個列表拖動的元素到另一個。

如何在保留將元素從#sortable1拖到#sortable2的能力的情況下,在左側列表(#sortable1)而不是可排序(使您不能重新排列元素)? (#sortable2必須保持排序)

回答

1

固定它自己。

HTML:

<ul class="left"> 
    <li class="item">Drag Me</li> 
    <li class="item">Over</li> 
    <li class="item">There --></li> 
</ul> 

<ul class="right"> 
    <li class="built">1</li> 
    <li class="built">2</li> 
    <li class="built">3</li> 
</ul> 

CSS:

ul { 
    width: auto; 
    height: 500px; 
    padding: 0; 
    margin: 0 100px 0 0; 
    list-style-type: none; 
    float: left; 
    background-color: blue; 
} 



.left li { 
    width: 100px; 
    height: 100px; 
    background-color: red; 
    border: 1px solid; 
} 

.right li { 
    width: 100px; 
    height: 100px; 
    background-color: yellow; 
    border: 1px solid; 
} 

JAVASCRIPT:

$(function() { 

    $(".item").draggable({ 
     helper: "clone", 
     revert: "invalid", 
     stack: ".item" 
    }); 

    $(".right").droppable({ 
     accept: ".item", 
     drop: function(event, ui) { 
      buildItem(ui.draggable); 
     } 
    }).sortable().disableSelection(); 

    function buildItem($item) { 
     $item.clone().toggleClass("item").appendTo(".right"); 
    } 

}); 

這裏有一個演示:
http://jsfiddle.net/8mBSK/
讓我知道如果您有任何問題。

0

嘗試這樣:

HTML:

<ul id="sortable1" class="connectedSortable"> 
    <li class="ui-state-default">Item 1</li> 
    <li class="ui-state-default">Item 2</li> 
    <li class="ui-state-default">Item 3</li> 
    <li class="ui-state-default">Item 4</li> 
    <li class="ui-state-default">Item 5</li> 
</ul> 

<ul id="sortable2" class="connectedSortable"> 
    <li class="ui-state-highlight">Item 1</li> 
    <li class="ui-state-highlight">Item 2</li> 
    <li class="ui-state-highlight">Item 3</li> 
    <li class="ui-state-highlight">Item 4</li> 
    <li class="ui-state-highlight">Item 5</li> 
</ul> 

JAVASCRIPT:

$(function() { 
    $("#sortable1").sortable({ 
     cancel: ".ui-state-default", 
     connectWith: ".connectedSortable" 
    }).disableSelection(); 

    $("#sortable2").sortable({ 
     connectWith: ".connectedSortable" 
    }).disableSelection(); 
}); 

DEMO: http://jsfiddle.net/dirtyd77/5e7X7/5/

+0

感謝您的幫助,但那不是我正在尋找的。請注意,在我的原始文章中,我指出這是不可排序的#sortable1,我想將元素拖出#sortable2。 您的演示正好相反:您可以將元素從可排序的#sortable2拖動到不可排序的#sortable1中。如果我還沒有明確表示,請告訴我。也許這會更容易解釋不同的ID ... – 2013-03-01 23:02:47

+0

我想出了我想要的。以下是我正在尋找的演示: http://jsfiddle.net/8mBSK/ – 2013-03-02 05:19:18

相關問題