jQuery UI 可排序:将顺序更改保留到数据库
当使用 jQuery UI 可排序功能允许用户重新排列元素时,通常会出现以下情况:希望将新订单保存到数据库中。以下是实现此目的的方法:
jQuery UI 可排序功能为此目的提供了一个序列化方法。它使用元素的 ID 创建一个元素数组。例如,这样的列表:
<code class="html"><ul id="sortable"> <li id="item-1"></li> <li id="item-2"></li> ... </ul></code>
当触发序列化方法时,它会生成如下的 POST 查询字符串:
item[]=1&item[]=2
假设每个元素的 ID 都对应于数据库ID,您可以迭代 POSTed 数组并更新数据库中元素的位置。
这是 PHP 中的示例:
<code class="php">$i = 0; foreach ($_POST['item'] as $value) { // Execute statement: // UPDATE [Table] SET [Position] = $i WHERE [EntityId] = $value $i++; }</code>
要在更改时启动序列化和顺序更新,使用以下 jQuery 代码:
<code class="javascript">$('#element').sortable({ axis: 'y', update: function (event, ui) { var data = $(this).sortable('serialize'); // POST to server using $.post or $.ajax $.ajax({ data: data, type: 'POST', url: '/your/url/here' }); } });</code>
此代码使用更新的订单创建 POST 请求并将其发送到指定的 URL。
以上是如何将使用可排序 jQuery UI 所做的更改保留到数据库?的详细内容。更多信息请关注PHP中文网其他相关文章!