[英]JQuery UI drag & drop & re-order on multiple lists
I currently have a single list working in which you can re-order the items and save the order into a MYSQL database. 我目前只有一个列表,您可以在其中重新排序商品并将订单保存到MYSQL数据库中。 I want them to be able to move between lists to as well but I cant figure out how to do it.
我希望他们也能够在列表之间移动,但是我不知道该怎么做。
I'm currently using the follow method to drag and drop multiple lists with JQuery UI. 我目前正在使用follow方法通过JQuery UI拖放多个列表。
PHP a query to get the items and one for the groups they are in PHP进行查询以获取项目,并获取一个项目所属的组
function getGroup($groupID){
$query_GroupNames = "SELECT * FROM EmProGroup WHERE idEmProGroup = '".intval($groupID)."'";
$GroupNames = mysql_query($query_GroupNames);
$row_GroupNames = mysql_fetch_assoc($GroupNames);
return $row_GroupNames['EmProGroupName'];
}
function getSections($sect){
$query_sect = "SELECT * FROM EmProSect WHERE idEmProGroup = '".intval($sect)."' ORDER BY EmProSectOrder ASC";
$sect = mysql_query($query_sect);
return $sect;
}
PHP RE-ORDERING QUERY PHP重新订购查询
foreach($_GET['item'] as $key=>$value) {
mysql_select_db($database_dbconnect, $dbconnect);
mysql_query("UPDATE EmProSect SET EmProSectOrder='".intval($key)."' WHERE idEmProSect='".intval($value)."'", $dbconnect) or die (mysql_error());
}
THEN THE HTML 然后HTML
<div class="stages ">
<h3><?php echo getGroup(1);?></h3>
<h3> <?php $list1 = getSections(1); ?></h3>
<ol class="stages-list" id="sortable1">
<?php do{ ?>
<li id="item_<?php echo $result['idEmProSect']; ?> ">
<?php echo $result['EmProSectName']; ?>
</li>
<?php }while($result = mysql_fetch_assoc($list1)); mysql_data_seek($list1,0); ?>
</ol>
</div>
<div class="stages ">
<h3><?php echo getGroup(2);?></h3>
<h3>
<?php $list2 = getSections(2);?>
</h3>
<ol class="stages-list" id="sortable2">
<?php do{ ?><li id="item_<?php echo $result['idEmProSect']; ?> "><?php echo $result['EmProSectName']; ?></li><?php }while($result = mysql_fetch_assoc($list2)); ?>
</ol>
</div>
THE JQUERY 爵士乐
$(function() {
$("#sortable1").sortable({
opacity:0.6,
stop: function(i) {
$.ajax({
type: "GET",
url: "emproOrder.php",
data: $("#sortable1").sortable("serialize"),
success: $("#successorder").show().delay(1000).fadeOut('slow')});
}
});
$("#sortable1").disableSelection();
});
$(function() {
$("#sortable2").sortable({
opacity:0.6,
stop: function(i) {
$.ajax({
type: "GET",
url: "emproOrder.php",
data: $("#sortable2").sortable("serialize"),
success: $("#successorder").show().delay(1000).fadeOut('slow')});
}
});
$("#sortable2").disableSelection();
});
DEMO of multiple connected lists. 多个连接列表的DEMO 。
JS: JS:
$(function() {
$( ".sortable_list" ).sortable({
connectWith: ".connectedSortable",
receive: function(event, ui) {
alert("dropped on = "+this.id); // Where the item is dropped
alert("sender = "+ui.sender[0].id); // Where it came from
alert("item = "+ui.item[0].innerHTML); //Which item (or ui.item[0].id)
}
}).disableSelection();
});
HTML: HTML:
<h3>Conected lists : You can move items between any list</h3>
<ul id="sortable1" class="sortable_list connectedSortable">
<li class="ui-state-default">List 1 - Item 1</li>
<li class="ui-state-default">List 1 - Item 2</li>
<li class="ui-state-default">List 1 - Item 3</li>
<li class="ui-state-default">List 1 - Item 4</li>
<li class="ui-state-default">List 1 - Item 5</li>
</ul>
<ul id="sortable2" class="sortable_list connectedSortable">
<li class="ui-state-highlight">List 2 - Item 1</li>
<li class="ui-state-highlight">List 2 - Item 2</li>
<li class="ui-state-highlight">List 2 - Item 3</li>
<li class="ui-state-highlight">List 2 - Item 4</li>
<li class="ui-state-highlight">List 2 - Item 5</li>
</ul>
<ul id="sortable3" class="sortable_list connectedSortable">
<li class="ui-state-default">List 3 - Item 1</li>
<li class="ui-state-default">List 3 - Item 2</li>
<li class="ui-state-default">List 3 - Item 3</li>
<li class="ui-state-default">List 3 - Item 4</li>
<li class="ui-state-default">List 3 - Item 5</li>
</ul>
<ul id="sortable4" class="sortable_list connectedSortable">
<li class="ui-state-highlight">List 4 - Item 1</li>
<li class="ui-state-highlight">List 4 - Item 2</li>
<li class="ui-state-highlight">List 4 - Item 3</li>
<li class="ui-state-highlight">List 4 - Item 4</li>
<li class="ui-state-highlight">List 4 - Item 5</li>
</ul>
You should be able to use connectWith: 您应该能够使用connectWith:
http://jqueryui.com/sortable/#connect-lists http://jqueryui.com/sortable/#connect-lists
All four of your lists have the class "stages-list" 您的所有四个列表都具有“ stages-list”类
<ol class="stages-list" id="sortable1">
So when you initialise each sortable, supply connectWith: "stages-list" 因此,在初始化每个可排序项时,请提供connectWith:“ stages-list”
$("#sortable1").sortable({
opacity:0.6,
connectWith: "stages-list",
stop: function(i) {
$.ajax({
type: "GET",
url: "emproOrder.php",
data: $("#sortable1").sortable("serialize"),
success: $("#successorder").show().delay(1000).fadeOut('slow')});
}
});
$(function() { $("ul.sortable").sortable({ connectWith: '.sortable', update: function(event, ui) { /* var position = $('.sortable').sortable('serialize', { key: 'menu', connected: true });*/ $('div').empty().html( $('.sortable').serial() ); } }); }); (function($) { $.fn.serial = function() { var array = []; var $elem = $(this); $elem.each(function(i) { var menu = this.id; $('li', this).each(function(e) { array.push( menu + '['+e+']=' + this.id ); }); }); return array.join('&'); } })(jQuery);
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/jquery-ui.min.js" type="text/javascript"></script> <meta http-equiv="content-type" content="text/html; charset=windows-1250"> <meta name="generator" content="PSPad editor, www.pspad.com"> <title></title> </head> <body> <ul class="sortable" id="menu1"> <li id="id_1">whatever</li> <li id="id_2">you</li> </ul> <ul class="sortable" id="menu2"> <li id="id_3">wanne</li> <li id="id_4">put</li> </ul> <ul class="sortable" id="menu3"> <li id="id_5">in</li> <li id="id_6">here</li> </ul> <div></div> </body> </html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.