1
我希望能夠通過拖拽或通過命令列表中的刪除按鈕將項目放回原始位置列表。到目前爲止,我已經能夠拖動到最終列表並將它從最終列表中刪除,但是我找不到將其恢復到原始列表的方式。Jquery拖放 - 無法拖拽
這裏是我現在的代碼(可測試版本在這裏:http://jsfiddle.net/PmVhd/):
<style>
h1 { padding: .2em; margin: 0; }
#products { float:left; width: 500px; margin-right: 2em; cursor: move }
#cart { width: 300px; float: left; margin-top: 1em; cursor: move }
#cart ol { margin: 0; padding: 1em 0 1em 3em; }
</style>
<script>
$(function() {
$("#catalog").accordion();
$("#catalog li").draggable({
helper: "clone"
});
$("#catalog ul").droppable({
drop: function (event, ui) {
$(ui.draggable).remove();
$("<li></li>").text(ui.draggable.text()).appendTo(this);
}
});
$("#cart ol").draggable({
appendTo: "body",
helper: "clone"
});
$("#cart ol").droppable({
drop: function (event, ui) {
$(ui.draggable).remove();
$(this).find(".placeholder").remove();
var el = $("<li>" + ui.draggable.text() + "</li> <a href='#'>[x]</a>").filter('a')
.click(function() {
el.remove();
}).end().appendTo(this);
}
});
});
<div id="products">
<h1 class="ui-widget-header">Car Extras</h1>
<div id="catalog">
<h2><a href="#">Security</a></h2>
<div>
<ul>
<li id="1">ABS</li>
<li id="2">ESP</li>
<li id="3">Airbag</li>
</ul>
</div>
<h2><a href="#">Confort</a></h2>
<div>
<ul>
<li>Air Conditioning</li>
<li>Hands-free Phone</li>
<li>Alligator Leather</li>
</ul>
</div>
<div id="cart">
<h1 class="ui-widget-header">My Car Extras</h1>
<div class="ui-widget-content">
<ol>
<li class="placeholder">Add your items here</li>
</ol>
</div>
感謝您的幫助。
那麼,我檢查了你的代碼,你應該首先重寫你的javascript。目前您銷燬列表條目並重新創建它們。這不是你應該這樣做的方式。查看'sortable()'jquery UI函數並使用'connectWith'連接列表。你可以在'receive'部分添加[x]。之後,您可以在列表ID上應用sort()算法以保持訂單。檢查此鏈接的排序功能:http://stackoverflow.com/questions/6303528/jquery-sortable-auto-sort – gulty 2013-02-15 12:29:47