首页 > 代码库 > select2 4.0.3 空记录时的处理
select2 4.0.3 空记录时的处理
使用select2插件,如果后台查找没有记录,不能返回null,要返回一个空数组,不然会报错:data is null
空数组形式为(firefox调试输出):{"items":[],"total_count":0}
完整使用记录如下:
前台html标记:
<div class="form-group col-md-6"> <label for="supplier">供应商</label> <select name="supplier" id="supplier" class="form-control" > </select> </div>
前台JS
$(‘#supplier‘).select2({ theme: "bootstrap", placeholder: "选择供应商", allowClear: true, ajax:{ url:"{:U(‘Supplier/getvalidSupplier‘)}", dataType:"json", delay:200, data:function(params){ return { q:params.term, page:params.page } }, processResults:function(data,params){ params.page = params.page || 1; return { results: data.items, pagination: { more: (params.page * 10) < data.total_count } }; }, cache: false }, //minimumInputLength: 1, });
后台PHP TP3.22
public function getvalidSupplier(){ $q=I("q"); $page=intval(I("page"))<1?1:I("page"); $map[‘supplier|contractor|co_addr‘] = array(‘like‘,‘%‘.$q.‘%‘); $map[‘status‘]=1; $pageParas[‘pageLength‘]=10; $pageParas[‘pageStart‘]=($page-1)*10; $pageParas[‘orderField‘]=‘supplier‘; $arr = $this->getPageData($map,null,true,null,$pageParas); $i=0; $arr2=array();//重点在这里 foreach ($arr as $key => $row) { $arr2[]=array("id"=>$row[id],"text"=>$row[‘supplier‘]); $i++; } $this->ajaxReturn(array(‘items‘=>$arr2,"total_count"=>$i)); }
select2 4.0.3 空记录时的处理
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。