Laravel:分页使用下拉菜单限制数字

时间:2017-09-16 08:35:30

标签: javascript php jquery html laravel

我有一个页面,其中包含一个表格,用于显示数据库中的用户列表,我使用分页显示每页只有10个用户如何更改用户数量取决于下拉菜单中选择的数量,例如第二个表下面的链接包含"显示条目"需要在这里。那么我可以将所选项目中的值传递给控制器​​,还是有不同的方法可以做到这一点? https://adminlte.io/themes/AdminLTE/pages/tables/data.html

2 个答案:

答案 0 :(得分:1)

你必须创建一个保存pageinate数据的变量,假设你是通过ajax发送,使用pageinateData,你可以在你的控制器中调用这样的东西:

$users = App\User::paginate($request->pageinateData);

所以每次你都可以用这个数据集打电话。

修改

在您的控制器中,您可以执行以下操作:

public function pUserList(Request $request) {
    $data = [];
    $data['users'] = App\User::orderBy('id', 'desc')->paginate($request->pageinateData);


    return view('userlist', $data);
}

$this会给你错误。 您可以在jquery中使用change来获取值

$(document).ready(function() {
  $('#issueinput5').on('change', function() {
    alert($('#issueinput5').val());
    $.ajax({
        url:'your url here',
        method:'POST',
        data:{'pageinateData':$('#issueinput5').val(),},
        success:function(d){
         // Do your code...
        }
   });
  });
});

编辑2:

对于csrf_token,您需要执行以下操作:添加到您的html标题

<meta name="csrf-token" content="{{ csrf_token() }}">

在ajax电话中你需要:

$(document).ready(function() {
  $('#issueinput5').on('change', function() {
    $.ajax({
        url:'/lists/user',
        method:'POST',
        headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') },
        data:{'pageinateData':$('#issueinput5').val(),},
        success:function(d){
          console.log(d)
        }
   });
  });
});

希望这有帮助。

答案 1 :(得分:0)

您可以尝试这样做

 $(document).ready(function(){
    $('#issueinput5').on('change',function(){
       $.ajax({
        url:'supply your url here',
        method:'POST',
        data:{'priority':$(this).val(),},
        success:function(d){
          console.log(d)
        }
       });
      })
    })