自定义表单项目之select2ajax


TIM截图20170906150516.jpg

因为公司有个下拉列表有几千的数据,而过多的json在前端会造成浏览器卡 崩溃,故研究ajax 搜索下拉。
form

addSelect2ajax 注意定义ajax请求地址,参数固定q page=1

ajax_url

返回 data: 列表 键值分别为text 和id 即可

测试代码


测试代码

public function test_table($q='', $page = 1){
if(Request::instance()->isAjax()){
// 静态模拟
return json([
'data'=>[
['text'=>'吉佳便利超市','id'=>2],
['text'=>'吉祥馄饨','id'=>880],
]
]);
// 动态查询
$where['company_name'] = ['like', "%{$q}%"];
$shop_list = Db::name('Shop')->where($where)->field('company_name AS text,id')->paginate(10);
return json($shop_list);
}else{
return ZBuilder::make('form')
->addSelect2ajax('select', '测试','', [], '', url('test_table'))
->fetch();
}
}
下载附件放入extend/form/里解压出来select2ajax 目录,
在表单里如上面方式使用,addSelect2ajax ,  注意 ajax_url 搜索的处理。
 
注意自定义表单项的模板 里 变量时builder里的 不要直接copy common builder里的

0 个评论

要回复文章请先登录注册