JQuery UI 可排序和 Laravel,将列表保存到数据库


JQuery UI Sortable and Laravel, Saving list to Database

我最终试图将列表的顺序保存到我的数据库中,我目前遇到的问题是 Jquery 在移动项目时没有收到传入的 id。

这是我的 html:

    <ul id="playlist">
        @foreach (Playlist::find(1)->songs as $song)
            <li class="ui-state-default ui-sortable-handle" data-id="{{ $song->position }}"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>{{$song->songname}}.</li>
        @endforeach
     </ul>

这是我的JavaScript

$(函数() {$('#playlist').sortable().bind('sortupdate', function(e, ui) {

var id = $('ul.sortable li').map(function(){ 
    return $(this).data("id");
}).get();
$.ajax({
    type: "POST",
    url: "api-ch-order",
    dataType: "json",
    data: {id: id},
    success: function(order){
      console.log(id)
    }
});

});});

这是我的控制器,我必须测试它:

    if(Request::ajax()){
      $id = Input::get('id');
      printf($id + "HEYYY");
    }

事情是目前在Chrome和Firefox上查看控制台console.log(id) 返回一个空数组,即没有传递任何信息,这是为什么?

我认为,您用于应用此功能的方法不正确。 id attr 必须是数组而不是整数。可能是它可以通过更改实现方法来工作....请参阅 https://stackoverflow.com/a/15635201/1728836 与挽歌示例。