我不想将所有项目移动到div。我想只将特定项目从一个div移动到另一个div
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>jQuery UI Sortable - Connect lists</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<link rel="stylesheet" href="/resources/demos/style.css">
<style>
#sortable1, #sortable2 {
border: 1px solid #eee;
width: 142px;
min-height: 20px;
list-style-type: none;
margin: 0;
padding: 5px 0 0 0;
float: left;
margin-right: 10px;
}
#sortable1 li, #sortable2 li {
margin: 0 5px 5px 5px;
padding: 5px;
font-size: 1.2em;
width: 120px;
}
</style>
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script>
$( function() {
$( "#sortable1, #sortable2" ).sortable({
connectWith: ".connectedSortable"
}).disableSelection();
} );
</script>
</head>
<body>
<ul id="sortable1" class="connectedSortable">
<li class="ui-state-default">StoreID</li> // I want to move only this STOREID li element to another UL
<li class="ui-state-default">ItemLookupCode</li>
<li class="ui-state-default">ExtendedCost</li>
<li class="ui-state-default">Quantity</li>
<li class="ui-state-default">Price</li>
</ul>
<ul id="sortable2" class="connectedSortable">
</ul>
</body>
</html>
我想只将UL StoreID 的第一个元素移动到另一个UL或所有元素。如何实现它。
由于
答案 0 :(得分:0)
最好使用update
或receive
回调。关键是:ui.sender.sortable("cancel");
这将恢复更改。
工作示例:https://jsfiddle.net/Twisty/4f5yh3pa/
<强> HTML 强>
<ul id="sortable1" class="connectedSortable">
<li class="ui-state-default acceptable">StoreID</li>
<li class="ui-state-default">ItemLookupCode</li>
<li class="ui-state-default">ExtendedCost</li>
<li class="ui-state-default">Quantity</li>
<li class="ui-state-default">Price</li>
</ul>
<ul id="sortable2" class="connectedSortable">
</ul>
<强> CSS 强>
.connectedSortable {
border: 1px solid #eee;
width: 142px;
min-height: 20px;
list-style-type: none;
margin: 0;
padding: 5px 0 0 0;
float: left;
margin-right: 10px;
}
#sortable1 {
background: #fff;
}
#sortable2 {
background: #999;
}
.connectedSortable li {
margin: 0 5px 5px 5px;
padding: 5px;
font-size: 1.2em;
width: 120px;
}
<强>的JavaScript 强>
$(function() {
$(".connectedSortable").sortable({
connectWith: ".connectedSortable",
update: function(e, ui) {
if ($(e.target).attr("id") == "sortable2") {
if (ui.item.hasClass("acceptable")) {
console.log($(this).attr("id") + " accepted item: ", ui.item);
} else {
console.log($(this).attr("id") + " rejected item: ", ui.item);
ui.sender.sortable("cancel");
}
}
}
}).disableSelection();
});
如果你想让它看起来更像是可拖动的,你可以设置动画。