【问题标题】:jQuery Drag and Drop: What's the best way to store multiple object positions in database?jQuery拖放:在数据库中存储多个对象位置的最佳方法是什么?
【发布时间】:2010-11-09 01:51:35
【问题描述】:

我有这样的事情:

<div class="wrapper">
  <div class="drag object1">Example1</div>
  <div class="drag object1">Example1</div>
  <div class="drag object1">Example1</div>
  <div class="drag object1">Example1</div>
  <img src="image.png">
</div>

基本上所有“拖动”类都是可拖放的。我想知道将所有内容存储在数据库中的最佳方式是什么。当用户在包装器中进行任何拖放并将其保存为 JSON 在 mySQL 中的一行时,将所有内容存储为 JSON blob 是一个好主意吗?或者我应该只保存在 mySQL 中单独的表中移动的任何单个对象?

如果是 JSON blob,我将如何使用 jQuery 将 #wrapper 中的 div 序列化为 jSONS?

谢谢!

【问题讨论】:

    标签: jquery mysql ajax json drag-and-drop


    【解决方案1】:

    可能很难只保存移动的对象,而且我认为保存这样的 100 项列表不会太多(就流量而言)。

    我认为需要一些额外的标记(你应该需要它)来帮助序列化这些东西:

    <div class='drag object1' data-id='1234'>example1</div>
    <div class='drag object1' data-id='1452'>example1</div>
    

    我使用 HTML5 标记前缀来标记您的实体键。 (在非 html5 浏览器中也能正常播放)

    那么,在JQ中,

    var listOfDrag = [];
    $(".wrapper .drag").each(function(){
        listOfDrag.push({id: $(this).attr("data-id")});
    });
    

    然后使用 jquery 将上述数组发布到服务器。

    【讨论】:

    • 非常感谢。它以 JSON 格式发送吗?还是应该在我的 PHP ajax 调用中将其转换为 JSON?
    • 上面的listOfDrag应该变成了一个数组。如果需要以 JSON 格式发送,可以使用code.google.com/p/jquery-json 进行转换。
    猜你喜欢
    • 2010-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-15
    • 2021-04-21
    • 2020-04-08
    • 2011-01-24
    相关资源
    最近更新 更多