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)); }
关于初始化设置 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 空记录时的处理的更多相关文章
- mysql 8.0.18 手工安装记录
mysql 8.0.18 手工安装记录 为了日常方便,特记录如下. 一.安装系统依赖包 #.系统依赖包安装 yum -y install make gcc-c++ cmake bison-devel ...
- 关于SubSonic3.0查询或更新时出现System.NullReferenceException异常的处理
在调试程序时,同事发现添加记录时,出现了System.NullReferenceException异常 DictBase dict = new DictBase(); dict.DictCode ...
- js简单实现删除记录时的提示效果
删除记录时的提示效果,挺人性化的,实现的方法有很多,在本文为大家介绍下使用js是如何实现的 样式 复制代码代码如下: <style type="text/css"> ...
- 弱类型语言中的0和空字符串(''或"")以及字符串'0'
在弱类型语言(js/PHP)中, 当我们用==判断0和'0'以及空字符串(''或"")是否相等的时候, 返回的是true. 而且在PHP中, 当我们用==判断0和null是否相等的 ...
- Repeater在无数据记录时显示暂无数据
原文:Repeater在无数据记录时显示暂无数据 方法就是在FooterTemplate加个Label并根据repeater.Items.Count判断是否有记录.关键代码如下: <Footer ...
- Lucene.net(4.8.0) 学习问题记录五: JIEba分词和Lucene的结合,以及对分词器的思考
前言:目前自己在做使用Lucene.net和PanGu分词实现全文检索的工作,不过自己是把别人做好的项目进行迁移.因为项目整体要迁移到ASP.NET Core 2.0版本,而Lucene使用的版本是3 ...
- 使用mybatis注解@Options实现添加记录时返回主键值
官网:http://www.mybatis.org/mybatis-3/index.html 在使用mybatis作为ORM框架时,我通常更喜欢使用注解而非xml配置文件的方式.业务场景:添加记录之后 ...
- manjaro xfce 18.0 踩坑记录
manjaro xfce 18.0 踩坑记录 1 简介1.1 Manjaro Linux1.2 开发桌面环境2 自动打开 NumLock3 系统快照3.1 安装timeshift3.2 使用times ...
- Hadoop-2.2.0集群部署时live nodes数目不对的问题
关于防火墙,hadoop本身配置都确定没任何问题,集群启动不报错,但打开50070页面,始终live nodes数目不对,于是我尝试/etc/hosts文件配置是否存在逻辑的错误: 127.0.0.1 ...
随机推荐
- reshape: from long to wide format(转)
This is to continue on the topic of using the melt/cast functions in reshape to convert between long ...
- Spring与Mybatis整合
一 概述 1.整合的目的 将Mapper映射器的创建任务交给Spring容器. 二 具体实现 1.创建sqlSessionFactory: <bean id="sqlSessionFa ...
- Python爬虫学习(二) ——————爬取前程无忧招聘信息并写入excel
作为一名Pythoner,相信大家对Python的就业前景或多或少会有一些关注.索性我们就写一个爬虫去获取一些我们需要的信息,今天我们要爬取的是前程无忧!说干就干!进入到前程无忧的官网,输入关键字&q ...
- PHP基础入门(二)---入门必备哦!
前言 在上一章中,我们初步了解了PHP的网页基础和PHP的入门基础,今天继续给大家分享更多有关PHP的知识. 理论知识看起来可能比较枯燥一些,但是我们的实践(敲代码)毕竟离不开它. 只有理论与实践相结 ...
- ImageView最大高度和宽度失效解决方案
解决方案 做RecyclerView的 item 布局时,用到imageview ,可是图片按原始尺寸显示,不规范. 所以去google了一下imageview的宽高限制,就试了下maxheight/ ...
- Linux获取UUID
Linux内核提供有UUID生成接口: cat /proc/sys/kernel/random/uuid Linux上一切皆文件,不管什么程序,读取文件就能获取一个UUID.
- Vue基础概念,学习环境等
前提: 你已有 HTML.CSS 和 JavaScript 中级前端知识. 概念: Vue.js(读音 /vjuː/,类似于 view) 是一套构建用户界面的渐进式框架.与其他重量级框架不同的是,Vu ...
- 【源码分享】jquery+css实现侧边导航栏
jquery+css实现侧边导航栏 最近做项目的时候,突然想用一个侧边导航栏,网上找了几个插件,有的太丑而且不太符合我的预期.与其修改别人的代码,不如自己来写一个了.废话不多说先上图,感兴趣的请继续看 ...
- PHP中单引号和双引号的区别
双引号里面的字段会经过编译器解释,然后再当作HTML代码输出:单引号里面的不进行解释,直接输出: PHP引号使用原则 1.字符串的值用单引号 2.PHP中尽量用单引号,HTML代码全部用双引号 3.在 ...
- Qlik报表开发见解
因为项目需要,最近去做了Qlik Sense报表开发,学习了Qlik报表的开发方法和一些基础的开发模式,以下是我对Qlik报表开发的一些见解,个人水平有限,欢迎大神指导. 1.Qlik Sense的函 ...