Javascript 如何使用拖放JQuery仅移动特定项?
我不想将所有项目移动到div。我只想将特定项目从一个div移动到另一个divJavascript 如何使用拖放JQuery仅移动特定项?,javascript,jquery,jquery-ui,jquery-ui-draggable,jquery-ui-droppable,Javascript,Jquery,Jquery Ui,Jquery Ui Draggable,Jquery Ui Droppable,我不想将所有项目移动到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 l
<!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>
jQuery UI可排序-连接列表
#排序1,#排序2{
边框:1px实心#eee;
宽度:142px;
最小高度:20px;
列表样式类型:无;
保证金:0;
填充:5px0;
浮动:左;
右边距:10px;
}
#可排序1 li,#可排序2 li{
保证金:0 5px 5px 5px;
填充物:5px;
字体大小:1.2米;
宽度:120px;
}
$(函数(){
$(“#可排序1,#可排序2”)。可排序({
connectWith:“.connectedSortable”
}).disableSelection();
} );
- StoreID
//我只想将这个StoreID li元素移动到另一个UL
- ItemLookupCode
扩展成本
数量
价格
我只想将ULStoreID的第一个元素移动到另一个UL或所有元素。如何实现它
谢谢这最好使用
update
或receive
回调来完成。键是:ui.sender.sortable(“取消”)代码>这将还原更改
工作示例:
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>
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();
});
如果你想让它看起来更像可拖动的,你可以设置动画。你的意思是,只有storeId会被移动到另一个ul,而不是其他ul,对吗?@rahul\m是的。我有另一个#sortable3
id,在那里它只允许从#sortable1
中删除扩展的成本、数量、价格
。@mohamedhafil你的请求有点奇怪。如果只想拖动一项,为什么要使列表1可排序?或者您的意思是列表1和2都应该是可排序的,但只有StoreID
可以移到列表2?如何按此顺序保存和从DB检索?@vignesh.D查看并将列表转换为可以通过脚本发送到DB的数据。然后,您将需要另一个脚本来收集数据,并且可以像API一样访问。
$(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();
});