JQuery UI Sortable和Laravel,将列表保存到数据库

时间:2015-01-20 00:08:36

标签: javascript php jquery jquery-ui laravel

我最终试图将列表的顺序保存到我的数据库中,我目前遇到的问题是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

$(function(){ $('#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)返回一个空数组,即没有传递信息,为什么会这样?

1 个答案:

答案 0 :(得分:0)

我认为,您使用的方法不适用此功能。和id attr必须是一个数组而不是一个整数。它可以通过改变实施方法来工作.... 请参阅https://stackoverflow.com/a/15635201/1728836,并附上一个例子。