为了账号安全,请及时绑定邮箱和手机立即绑定

如何同时实现table标签的分页和搜索?

如何同时实现table标签的分页和搜索?

www说 2018-11-17 16:51:56
我原本table的分页功能使用的是thinkphp框架中的分页:// 查询状态为1的用户数据 并且每页显示10条数据$list = Db::name('user')->where('status',1)->paginate(10);// 把分页数据赋值给模板变量list$this->assign('list', $list);// 渲染模板输出return $this->fetch();<div><ul>{volist name='list' id='user'}     <li> {$user.nickname}</li>{/volist}</ul></div>{$list->render()}搜索功能则是自己写一个一小段JavaScript代码,代码就不贴出来了,只是对当前页面的table进行遍历查找,但这个代码只能对当前的页面进行搜索,无法对全部数据搜索。如何能在搜索框输入数据后能马上跳转到该数据所在的页面并单独显示出来?希望大家能提供点思路。
查看完整描述

1 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

根据你的问题,你现在的js代码是对当前页面的数据进行搜索然后将不符合数据过滤到,这样肯定只能过滤当前页的,如果要实现你所说的在全表搜索,那你需要重定向到这个路由,并且带上参数再查询一次数据来返回给前端,这样就可以得到所有你想得到的数据了。
简单说下两个方法吧。

控制器这么写
$cat = isset($_GET['cat']) ? $_GET['cat'] : '';

$QB_logs = DB::where('qb_status', 'e')->where(function($query) use ($cat){    if($cat) {
        $query->where('qb_action', '=', $cat);
    }
}->select();
前端这么写
{!!  $QB_logs->appends(['cat'=>$cat])->render() !!}

这个是laravel的写法,具体到你的框架应该也差不多。

第二个方法,如果你不想要页面跳转来重新加载数据的话,你可以考虑用datatable来渲染数据,这样也能达到你所说的效果。


查看完整回答
反对 回复 2018-11-17
  • 1 回答
  • 0 关注
  • 993 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号