如何利用 jQuery UI Sortable 来管理订单和数据库更新
利用 jQuery UI 的 sortable 功能,用户可以建立和修改订单的顺序元素。这就提出了如何将这些更改转化为数据库更新的问题。
解决方案:
jQuery UI 为此提供了宝贵的序列化方法。它毫不费力地生成一个元素数组,每个元素都由其 ID 表示。
这是一个综合示例,在元素重新排列时将数据分派到指定的 URL:
$('#element').sortable({ axis: 'y', update: function (event, ui) { var data = $(this).sortable('serialize'); // Communicate with the server using $.post or $.ajax $.ajax({ data: data, type: 'POST', url: '/your/url/here' }); } });
此代码建立了一个可排序的对象list,当元素的位置发生变化时触发更新事件,并将排序后的 ID 收集到一个数组中。
通常,元素将数据库 ID 嵌入到其属性中。 Serialize 函数生成类似于 item[]=1&item[]=2 的 POST 查询字符串,使用这些 ID 来编码顺序。
在 PHP 域中,一个简单的循环可以遍历这个接收到的数组并执行数据库更新相应地:
$i = 0; foreach ($_POST['item'] as $value) { // Execute statement: // UPDATE [Table] SET [Position] = $i WHERE [EntityId] = $value $i++; }
要可视化此过程的实际效果,请探索 jsFiddle 上的示例。
以上是jQuery UI Sortable 的 `serialize` 方法如何用于数据库更新?的详细内容。更多信息请关注PHP中文网其他相关文章!