2016-07-13 67 views
0

我的問題是我無法排序我的無序列表中的元素。 佔位符總是顯示在第一行,第一個元素是。 (當我拖動元素)。 Oder元素根本沒有移動,並且沒有爲當前拖動的元素提供空間(這應該是可排序的默認功能)。JQuery可排序元素無法排序並定位到指針

Here my code pen example

(以元素添加到列表中只需點擊「添加」了好幾次。要啓用排序功能,點擊按鈕「排序」。要禁用排序功能,點擊「不可排序」)

對於排序我有以下特性:

$("#btnSortable").click(function() { 
    $("#ulNotes").sortable({ 
    handle: '.divText', 
    tolerance: 'pointer', 
    placeholder: 'sortablePlaceholder', 
    forcePlaceholderSize: true, 
    forceHelperSize: true, 
    cursorAt: {left: 0, top: 0}   
    }); 
}); 

回答

1

如果刪除class="list-unstyled"並守穩它的工作原理其他元素的元素!我認爲這個問題是你的CSS。

+0

謝謝。我看到另一個問題是,當他們在不同的列中時排序元素... – FrenkyB

+0

你可以歡迎 –

+1

簡短的例子在這裏http://codepen.io/ionutmihai1995/pen/mEqzPW –

1
<head> 

<meta charset="utf-8"> 
<meta name="viewport" content="width=device-width, initial-scale=1"> 
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.0/themes/base/jquery-ui.css"> 
<style> 
    #sortable { list-style-type: none; margin: 0; padding: 0; width: 100%; } 
    #sortable li { margin: 0 3px 3px 3px; padding: 0.4em; padding-left: 1.5em; font-size: 1.4em; height: 18px; float:left; border:1px solid black;width:30%;} 
</style> 
<script src="https://code.jquery.com/jquery-1.12.4.js"></script> 
<script src="https://code.jquery.com/ui/1.12.0/jquery-ui.js"></script> 
<script> 
    $(function() { 
     $("#sortable").sortable(); 
     $("#sortable").disableSelection(); 
    }); 
</script> 
</head> 
<body> 

    <ul id="sortable"> 
     <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> 
     <li class="ui-state-default">Item 6</li> 
     <li class="ui-state-default">Item 7</li> 
    </ul> 
</body>