HTML部分:
<form class="layui-form" >
<div class="layui-form-item">
<label class="layui-form-label">搜索:</label>
<div class="layui-input-inline">
<select name="search_key" id="sk">
<option value="room_name" selected="">按群名称搜索</option>
<option value="room_id">按群号码搜索</option>
</select>
</div>
<div class="layui-inline">
<input class="layui-input" name="search_val" id="sv" required autocomplete="off">
</div>
<input type="button" class="layui-btn" id="search" value="搜索" > <!--data-type="reload" -->
<span id="fzk"></span>
</div>
</form>
ajax提交
JS部分:
//搜索
$("#search").click(function(){
if($("#sv").val().trim() == ''){
layer.alert("搜索条件不能为空");
return false;
}
$.get(
"{:url('index/rooms_chat')}",
{k:$("#sk").val(),v:$("#sv").val()},
function(d){
// console.log(d);
if(d == "暂无数据"){
$("#roomList").html("暂无数据");
}else{
$('html').html(d);
}
}
);
});
PHP 方法:
public function rooms_chat(Request $request){
//获取所有的群组
if(null != $request->get('v')){ //带搜索条件的页面
$k = $request->get('k');
$v = $request->get('v');
$rooms = Db::name('room')
->field("room_id,room_name ,r_id ")
->order('r_id','desc')
->where($k,'like',"%".$v."%")
->paginate(3,false,['query'=>$request->param()]);
if($rooms->isEmpty()){
return view('rooms_chat',['rooms'=>"暂无数据"]);
}
return view('rooms_chat',['rooms'=>$rooms,'page'=>$rooms]);
}else{ //默认打开页面
$rooms = Db::name('room')
->field("`room_id`,`room_name` ,r_id ")
->paginate(3);
return view('rooms_chat',['rooms'=>$rooms,'page'=>$rooms]);
}
}
确保搜索条件分页条件都不会遗漏的关键: paginate(3,false,['query'=>$request->param()]);
还有分页的CSS样式:
/*分页样式*/
.pagination{text-align:center;margin-top:20px;margin-bottom: 20px;}
.pagination li{margin:0px 10px; border:1px solid #e6e6e6;padding: 3px 8px;display: inline-block;}
.pagination .active{background-color: #009688;;color: #fff;}
.pagination .disabled{color:#aaa;}
自己马克一下...