我最终试图将列表的顺序保存到我的数据库中,我目前遇到的问题是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)返回一个空数组,即没有传递信息,为什么会这样?
答案 0 :(得分:0)
我认为,您使用的方法不适用此功能。和id attr必须是一个数组而不是一个整数。它可以通过改变实施方法来工作.... 请参阅https://stackoverflow.com/a/15635201/1728836,并附上一个例子。