这篇文章将为大家详细讲解有关PHP+jQuery-ui怎么进行拖动浮动层排序并保存到数据库,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
PHP+jQuery-ui实现的拖动浮动层排序布局并将拖动后的浮动层位置排序结果保存到数据库实例。
首先引入jQuery库和jquery-ui.min.js,接着放置一个拖动时的加载图片,和从数据库读取出来的多个模块拖动层.modules,及#orderlist用于记录模块的排序值。
<script type="text/javascript" src="jquery.js"></script> <script type='text/javascript' src='js/jquery-ui.min.js'></script><div id="loader"></div> <div id="module_list"> <input type="hidden" id="orderlist" value="<?php echo $sort; ?>" /> <!--?php for ($i = 0; $i < $len; $i++) { ?--> <div class="modules" title="<?php echo $sort_arr[$i]; ?>"> <h4 class="m_title">Module: <!--?php echo $sort_arr[$i]; ?--></h4> <p> <!--?php echo $sort_arr[$i]; ?--></p> </div> <!--?php } ?--> <div class="cl"></div> </div>
页面js:
$(function() { $(".m_title").bind('mouseover', function() { $(this).css("cursor", "move") }); var $show = $("#loader"); //进度条 var $orderlist = $("#orderlist"); var $list = $("#module_list"); $list.sortable({ opacity: 0.6, revert: true, cursor: 'move', handle: '.m_title', update: function() { var new_order = []; $list.children(".modules").each(function() { new_order.push(this.title); }); var newid = new_order.join(','); var oldid = $orderlist.val(); $.ajax({ type: "post", url: "update.php", data: { id: newid, order: oldid }, //id:新的排列对应的ID,order:原排列顺序 beforeSend: function() { $show.html("<img src='images/load.gif' /> 正在更新"); }, success: function(msg) { $show.html(""); } }); } }); });
拖动后保存到数据库,ajax.php中的代码:
$order = $_POST['order']; $itemid = trim($_POST['id']); if (!empty($itemid)) { if ($order != $itemid) { $query = mysql_query("update sortlist set sort='$itemid' where id=1"); if ($query) { echo $itemid; } else { echo "none"; } } }
关于PHP+jQuery-ui怎么进行拖动浮动层排序并保存到数据库就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。