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