select2的基本用法
公司有个项目需要用到类似百度搜索功能的下拉框,自然想到使用select2。
先看下select2的效果图,如下:
下来简单介绍下这个控件的基本用法,主要简单介绍下远程加载数据;
1.首先引入需要的文件:select2.full.js、select2.min.css(4.0.1版本)和jquery.1.8.3及以上.
2.远程加载数据示例
$("#simple").select2({
ajax: {
url: 'Handler1.ashx',
dataType: "json",
delay: 250,
data: function (params) {
return {
q: params.term
};
},
processResults: function (data) {
return {
results: data
};
},
cache: true
},
escapeMarkup: function (markup) { return markup; },
minimumInputLength: 1,
placeholder: '请选择',
allowClear: true
});
与普通ajax调用不同的是data和processResults;
注意 data方法里面有个q:params.term这个是干什么的呢?其实这是获取当前输入值的,也就是上图中的“1”。这里的q:params.term;使用的时候直接照搬就行;当然你也可以把q换成你喜欢的参数名字。
processResults里面就是从后台获取数据结果的;最终返回的数据的格式一般是这样子:"[{id:0,text:'a'},{id:1,text:'b'}]"(select2默认的数据属性是id、text听说新版本可以自定义);
minimumInputLength同字面意思,即限制最少输入一个字符;
placeholder等同文本框的placeholder;
allowClear:true表示允许清除选中的内容,即为true的时候图中的“1”右边会出现一个“x”,点击后可以清除掉输入框的内容;
本人在使用的时候在这里遇见了一个大坑,就是你写了allowClear:true,但是点击上面的“x“后,没有反应,纳尼,嘛情况!
网上查了下,有人说,要allowClear:true生效,必须要设置placeholder属性,可是我写了呀。难道js文件和select2版本不匹配?
尝试个多个版本的js和select2还是这问题;
今天突然看到一篇外国的文章,解决了这个问题,其实很简单就是要allowClear:true生效,必须在<select>标签中添加一个空的<option>节点(可以不设置placeholder属性,因为控件有默认值);如下:
<select id="simple" style="width: 120px;">
<option></option>
</select>
那这是为什么呢 ?原因是The first option must be empty in order to get placeholderworking!
select2的基本用法的更多相关文章
- 非常实用的select下拉框-Select2.js
在Web开发中,Select下拉框是常用的输入组件.由于原生的Select几乎很难通过CSS样式控制.一些好看的Select下拉框就只能通过模拟来实现.PHP程序员雷雪松给大家推荐一筐款不错的Sele ...
- jQuery的下拉选select2插件用法
1转自:https://www.jb51.net/article/95561.htm 用了这么久的Select2插件,也该写篇文章总结总结.当初感觉Select2不是特别好用,但又找不到比它更好的下拉 ...
- select2插件用法
1.修改默认查询方法,使其可以根据value查询 this.element.select2({ allowClear: true, matcher: function (term, text, ele ...
- select2的用法
<link href="../css/select2.min.css" rel="stylesheet" /> <script src=&qu ...
- 01:jQuery的下拉选select2插件用法
1.1 select2插件基本使用 1.下载select2插件 1. 下载地址:https://github.com/select2/select2 2.官网地址:https://select2.or ...
- Select2 用法
http://www.cnblogs.com/wuhuacong/p/4761637.html 2.这个做详细参考 http://www.jianshu.com/p/c5ab74b91b2e 3.ht ...
- JS组件系列——Bootstrap Select2组件使用小结
前言:在介绍select组件的时候,博主之前分享过一篇JS组件系列——两种bootstrap multiselect组件大比拼,这两个组件的功能确实很强大,只可惜没有图文结合的效果(也就是将图片放入到 ...
- jQuery 事件用法详解
jQuery 事件用法详解 目录 简介 实现原理 事件操作 绑定事件 解除事件 触发事件 事件委托 事件操作进阶 阻止默认事件 阻止事件传播 阻止事件向后执行 命名空间 自定义事件 事件队列 jque ...
- 下拉框插件select2的使用
它的优点有: 样式还算好看,支持多选,支持索搜 下面来介绍下select2的用法 1.最简单的用法 只需要加载css和js即可使用 <select name="" id=&q ...
随机推荐
- Oracle-Oracle10 数据空间建立,导入,导出--oracle10g 删除步骤
--以system/manager身份登录SQLPlus,并执行 ========================管理员登陆==================================== 登 ...
- Property cannot be found on forward class object?
I have a UIView and I'm trying to set its layer properties. self.colorSwatch = [[UIView alloc] initW ...
- jQuery each的实现与call方法的详细介绍
转载原出处: http://www.f2es.com/jquery-each-intro/ 先贴上jquery实现each功能的源代码(把常用的call部分提取出来,为了方便理解,就进行了一定的修改) ...
- 48. 面向对象的LotusScript(十四)之Log4Dom上
日志是开发系统时的有效工具和常见需求.它不仅可以在程序排错时提供调试信息,还可以记录系统运行的日常状况,以供需要时查询或集中起来分析.在一些主要的编程语言如Java中,都有不少日志框架可供选择.在Lo ...
- pom.xml报错
错误太多打开文件后就不会显示,点开前边的选项卡就会提示错误信息,一般是jar包没加载全.
- iOS动画实现总结
在iOS中,动画实现方向有两种,一种是操作UIView的animation方法,另外一种就是核心动画,但到iOS7中,UIView又跟核心动画牵扯在一起. 方式一(利用核心动画添加动画) 核心动画的层 ...
- Emgu CV 高斯建模
Codeprivate void button1_Click(object sender, EventArgs e) { Emgu.CV.Capture cap = new Capture(" ...
- 剑指OFFER之复杂链表的复制(九度OJ1524)
题目描述: 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点). 输入: 输入可能包含多个测试样例,输入以EOF结束.对于每个测试案例,输入的第一 ...
- WdatePicker开始日期不能大于结束日期
<input class="input_calendar inputcss" id="startDate" runat="server" ...
- BZOJ 1090: [SCOI2003]字符串折叠 区间DP
1090: [SCOI2003]字符串折叠 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/p ...