2012-09-06 19 views
0

我有這樣的代碼,我使用動態添加新項目拖動項目不停留在新的位置

<!Doctype html> 
    <head> 
    <meta charset="utf-8"> 
    <style type="text/css"> 
    .tr_deco{ 
    background-color:pink; 
    border:1px solid red; 
    } 
    </style> 
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script> 
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/jquery-ui.min.js"></script> 
    <script type="text/javascript"> 
    jQuery(function() { 
    jQuery(".new_krud_slider").click(function(e){ 
    e.preventDefault(); 
    jQuery('.krud_dom').append("<form name='krud_submit' action='admin.php?page=exchange_page' method='post'><table class='sortable'><tr class='tr_deco'><td>Slider Title</td><td><input type='text' /></td><td>Slider Description</td><td><textarea></textarea></td><td>Slider Location</td><td><input type='text' name='x' value='Jenna Doe'/></td><td><a href=''>I</a></td></tr><tr class='tr_deco'><td></td><td></td><td></td><td></td><td></td><td><button>Save</button></td><td><button>Delete</button></td></tr></table></form>"); 
jQuery(".sortable").sortable(); 
    }); 
    }); 
    </script> 
    </head> 
    <body> 
    <a class="new_krud_slider" href="">make new</a> 
    <table> 
    <tr><td class="krud_dom"></td></tr> 
</table> 
    </body> 
    </html> 

這裏是小提琴http://jsfiddle.net/TRJXe/ 我需要拖動的項目留在那裏有被丟棄。

回答

1

您正在使用sortable jQuery小部件。您需要使用draggable部件

jQuery(".sortable").draggable(); 

這將讓該項目的逗留在那裏的拖累。使用sortable可讓您拖動項目,但是當您放開時,項目會自動排入其新位置。既然你只有一件物品,它總是會排在最前面;這就是爲什麼在你放棄它之後它會跳回到同一個地方。

UPDATE

澄清問題的性質後,你的問題的根源是,我們在調用每個單獨的形式.sortable。要正確使用sortable jQuery UI小部件,您需要在包含要排序的所有元素上調用.sortable()。在這種情況下,這將是.krud_dom

所以,你會希望通過呼籲.krud_dom.sortable開始,像這樣:

jQuery(".krud_dom").sortable(); 

然後,每次添加一種新形式的網頁,你需要「刷新」窗口小部件,另一個調用.sortable

jQuery(".krud_dom").sortable("refresh"); 

我創建了一個演示的jsfiddle展示它是如何工作:

--- jsFiddle DEMO ---

+0

這一工程,但用一個項目的自動意圖是現在gone.Once拖放,我必須安排好一切自己http://jsfiddle.net/dX58q/ – Gandalf

+0

哦,我現在看到。你打算使用'sortable'插件,但這些項目在拖動之後不能排序。是對的嗎? – jackwanders

+0

是的,沒錯。 – Gandalf