首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sortablejs方法不可用

sortablejs方法不可用
EN

Stack Overflow用户
提问于 2021-05-14 00:37:46
回答 1查看 29关注 0票数 0

使用Rails6实现sortablejs。一切都很顺利,直到我尝试使用toArray方法,而现在我无法让它正常工作。

我在刺激控制器中实例化sortable,如下所示:

代码语言:javascript
复制
import { Controller } from "stimulus";
import Sortable from "sortablejs"

export default class extends Controller {
  connect() {
    this.sortable = Sortable.create(this.element, {
        animation: 150,
        filter: 'input, button,',
        onEnd: this.end.bind(this)
    })

console.log($("#sort-me"));
}  
end(event) {
    console.log(event)
    var sortable = this.sortable;
    let combo_id = event.item.dataset.id
    let entry_id = combo_id.substr(0, combo_id.indexOf("_"));
    let id = combo_id.substr(combo_id.indexOf("_") + 1, combo_id.length);

    let current_order = $('#image_order_array_' + entry_id).val();
    let current_position = $('#image_position_' + id).val();

    let data = new FormData()
    data.append("current_order", current_order)
    data.append("current_position", current_position)
    data.append("new_position", event.newIndex)
    data.append("old_position", event.oldIndex)

    var idsInOrder = $("#sort-me").sortable("toArray");

    Rails.ajax({
      url: this.data.get("url").replace(":id", id),
      type:'PATCH',
      data: data      
  
    })

    }   
 }

当end事件触发时,我会得到:

代码语言:javascript
复制
 drag_controller.js:40 Uncaught TypeError: $(...).sortable is not a function

我已经尝试了许多不同的排列方式,但都不能正常工作。基本上,一旦一个项目被排序,我需要获得toArray的值,这样我才能知道项目的当前顺序。

EN

回答 1

Stack Overflow用户

发布于 2021-05-15 00:32:19

答案: this.sortable.toArray

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67522924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档