【问题标题】:Gridster Position of current widget not saved in db when adding another widget and current widget moves down添加另一个小部件并且当前小部件向下移动时,当前小部件的位置未保存在数据库中
【发布时间】:2015-10-29 07:37:30
【问题描述】:

我正在使用 gridster.js。当我添加一个新的小部件时,当前小部件会根据要求向下移动。但是我如何以及在哪里可以获得移动小部件的更改位置以将其保存在数据库中?

【问题讨论】:

    标签: javascript jquery gridster


    【解决方案1】:

    您可以使用序列化方法来获取小部件位置。它返回一个可用作 JSON 对象的对象数组。

    gridster.serialize();
    

    样本输出:

    [{"col":1,"row":4,"size_x":2,"size_y":2},{"col":3,"row":1,"size_x":1,"size_y":2},{"col":4,"row":1,"size_x":1,"size_y":1},{"col":2,"row":6,"size_x":3,"size_y":1},{"col":1,"row":7,"size_x":1,"size_y":1},{"col":1,"row":6,"size_x":1,"size_y":1},{"col":2,"row":7,"size_x":1,"size_y":1},{"col":2,"row":8,"size_x":1,"size_y":1},{"col":4,"row":7,"size_x":1,"size_y":1},{"col":2,"row":1,"size_x":1,"size_y":3},{"col":1,"row":8,"size_x":1,"size_y":2},{"col":3,"row":7,"size_x":1,"size_y":2},{"col":4,"row":8,"size_x":1,"size_y":1},{"col":2,"row":9,"size_x":3,"size_y":1},{"col":5,"row":1,"size_x":1,"size_y":2},{"col":5,"row":3,"size_x":1,"size_y":1},{"col":3,"row":10,"size_x":1,"size_y":1}]
    

    演示here

    编辑:

    gridster.serialize_changed() //Call this after adding the new widgets
    

    要获取更新位置的小部件的位置,您可以使用.serialize_changed() 方法。它返回一个对象数组,表示已更改位置的小部件的当前位置。

    【讨论】:

    • 感谢您的信息。但是我如何获得在添加新小部件后位置发生变化的特定小部件。
    • .serialize_changed() 返回位置发生变化的位置小部件。你可以用那个。或者只是在添加新小部件之前和之后收集小部件的位置。现在比较两个 json 数组并找到更新位置的小部件。
    • 我尝试了 serialize_changed()。但它没有返回任何数据。根据我的理解,使用 remove_widget 我们在 gridster.js 中设置 this.$changed 但对于 add_widget 没有这样的东西。所以我在添加时无法使用 serialize_changed() 获取任何数据。如果我错了,请纠正。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-05
    • 2020-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多