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

关于初始化设置 selet2

如果是静态的option,按照官网的例子就可以。

即:

$example=$("#example").select2();

$example.val("CA").trigger("change");

如果是动态的(remote)的option,就要自己创建需要初始化的option,然后append

var option=new Option("{$rowdata.supplier_text}","{$rowdata.supplier}",true,true);
$('#supplier').append(option).trigger('change');

 

select2 4.0.3 空记录时的处理的更多相关文章

  1. mysql 8.0.18 手工安装记录

    mysql 8.0.18 手工安装记录 为了日常方便,特记录如下. 一.安装系统依赖包 #.系统依赖包安装 yum -y install make gcc-c++ cmake bison-devel ...

  2. 关于SubSonic3.0查询或更新时出现System.NullReferenceException异常的处理

    在调试程序时,同事发现添加记录时,出现了System.NullReferenceException异常 DictBase dict = new DictBase();    dict.DictCode ...

  3. js简单实现删除记录时的提示效果

    删除记录时的提示效果,挺人性化的,实现的方法有很多,在本文为大家介绍下使用js是如何实现的 样式 复制代码代码如下: <style type="text/css">  ...

  4. 弱类型语言中的0和空字符串(''或"")以及字符串'0'

    在弱类型语言(js/PHP)中, 当我们用==判断0和'0'以及空字符串(''或"")是否相等的时候, 返回的是true. 而且在PHP中, 当我们用==判断0和null是否相等的 ...

  5. Repeater在无数据记录时显示暂无数据

    原文:Repeater在无数据记录时显示暂无数据 方法就是在FooterTemplate加个Label并根据repeater.Items.Count判断是否有记录.关键代码如下: <Footer ...

  6. Lucene.net(4.8.0) 学习问题记录五: JIEba分词和Lucene的结合,以及对分词器的思考

    前言:目前自己在做使用Lucene.net和PanGu分词实现全文检索的工作,不过自己是把别人做好的项目进行迁移.因为项目整体要迁移到ASP.NET Core 2.0版本,而Lucene使用的版本是3 ...

  7. 使用mybatis注解@Options实现添加记录时返回主键值

    官网:http://www.mybatis.org/mybatis-3/index.html 在使用mybatis作为ORM框架时,我通常更喜欢使用注解而非xml配置文件的方式.业务场景:添加记录之后 ...

  8. manjaro xfce 18.0 踩坑记录

    manjaro xfce 18.0 踩坑记录 1 简介1.1 Manjaro Linux1.2 开发桌面环境2 自动打开 NumLock3 系统快照3.1 安装timeshift3.2 使用times ...

  9. Hadoop-2.2.0集群部署时live nodes数目不对的问题

    关于防火墙,hadoop本身配置都确定没任何问题,集群启动不报错,但打开50070页面,始终live nodes数目不对,于是我尝试/etc/hosts文件配置是否存在逻辑的错误: 127.0.0.1 ...

随机推荐

  1. Git详细教程(3)---结合gitHub使用

    1.GitHub的基本使用 GitHub就是一个网站,本身是基于Git,可以完成版本控制,可以托管代码. 英文版的. 在使用GitHub之前,首先需要注册一个账号. 登录,就可以完成相关的一些操作. ...

  2. React复习小结(一)

    一.React的发展 facebook在构建instagram网站的时候遇见两个问题: 1.数据绑定的时候,大量操作真实dom,性能成本太高 2.网站的数据流向太混乱,不好控制 于是facebook起 ...

  3. HashMap集合

    HashMap集合特点(用法与特点类似于HashSet集合): 1.无序,不允许重复(无序指元素顺序与添加顺序不一致): 2.底层数据结构是哈希表 3.HashMap内部对"键"用 ...

  4. numpy中linspace用法 (等差数列创建函数)

    linspace  函数 是创建等差数列的函数, 最好是在 Matlab  语言中见到这个函数的,近期在学习Python 中的 Numpy, 发现也有这个函数,以下给出自己在学习过程中的一些总结. ( ...

  5. HTML面试题

    1.你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么? 所谓的“浏览器内核”无非指的是一个浏览器最核心的部分-“Rendering Engine”,直译叫做“渲染引擎”,我们也常称为“排版引擎 ...

  6. 【javascript】Promise/A+ 规范简单实现 异步流程控制思想

    ——基于es6:Promise/A+ 规范简单实现 异步流程控制思想  前言: nodejs强大的异步处理能力使得它在服务器端大放异彩,基于它的应用不断的增加,但是异步随之带来的嵌套.难以理解的代码让 ...

  7. vijos1325 桐桐的糖果计划

    Description 桐桐是一个快乐的小朋友,他生活中有许多许多好玩的事,让我们一起来看看吧-- 桐桐很喜欢吃棒棒糖.他家处在一大堆糖果店的附近. 但是,他们家的区域经常出现塞车.塞人等情况,这导致 ...

  8. 并发编程(三):全视角解析volatile

    一.目录 1.引入话题-发散思考 2.volatile深度解析 3.解决volatile原子性问题 4.volatile应用场景 二.引入话题-发散思考 public class T1 { /*vol ...

  9. 数据结构与算法(c++)——查找二叉树与中序遍历

    查找树ADT--查找二叉树 定义:对于树中的每个节点X,它的左子树中的所有项的值小于X中的项,而它的右子树中所有项的值大于X中的项. 现在给出字段和方法定义(BinarySearchTree.h) # ...

  10. 在C#中初遇Socket - 2

    后期项目实战:多人在线聊天室 源码位置:https://git.oschina.net/z13qu/BlogProjects 前言 第一篇主要对Socket有个基本认识,实现初始化,发送.接受消息:本 ...