select2 4.0.3 空记录时的处理

来源:互联网 发布:济宁淘宝培训 编辑:程序博客网 时间:2024/05/16 03:53

使用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"  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));                }

 

 

0 0
原创粉丝点击