公司有个项目需要用到类似百度搜索功能的下拉框,自然想到使用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的基本用法的更多相关文章

  1. 非常实用的select下拉框-Select2.js

    在Web开发中,Select下拉框是常用的输入组件.由于原生的Select几乎很难通过CSS样式控制.一些好看的Select下拉框就只能通过模拟来实现.PHP程序员雷雪松给大家推荐一筐款不错的Sele ...

  2. jQuery的下拉选select2插件用法

    1转自:https://www.jb51.net/article/95561.htm 用了这么久的Select2插件,也该写篇文章总结总结.当初感觉Select2不是特别好用,但又找不到比它更好的下拉 ...

  3. select2插件用法

    1.修改默认查询方法,使其可以根据value查询 this.element.select2({ allowClear: true, matcher: function (term, text, ele ...

  4. select2的用法

    <link href="../css/select2.min.css" rel="stylesheet" /> <script src=&qu ...

  5. 01:jQuery的下拉选select2插件用法

    1.1 select2插件基本使用 1.下载select2插件 1. 下载地址:https://github.com/select2/select2 2.官网地址:https://select2.or ...

  6. Select2 用法

    http://www.cnblogs.com/wuhuacong/p/4761637.html 2.这个做详细参考 http://www.jianshu.com/p/c5ab74b91b2e 3.ht ...

  7. JS组件系列——Bootstrap Select2组件使用小结

    前言:在介绍select组件的时候,博主之前分享过一篇JS组件系列——两种bootstrap multiselect组件大比拼,这两个组件的功能确实很强大,只可惜没有图文结合的效果(也就是将图片放入到 ...

  8. jQuery 事件用法详解

    jQuery 事件用法详解 目录 简介 实现原理 事件操作 绑定事件 解除事件 触发事件 事件委托 事件操作进阶 阻止默认事件 阻止事件传播 阻止事件向后执行 命名空间 自定义事件 事件队列 jque ...

  9. 下拉框插件select2的使用

    它的优点有: 样式还算好看,支持多选,支持索搜 下面来介绍下select2的用法 1.最简单的用法 只需要加载css和js即可使用 <select name="" id=&q ...

随机推荐

  1. 组建Windows家庭组

    这里,是必须得针对Windows 7.8.10而言,因为,Windows XP 和 Windows Vista系统没有家庭网络的功能.(比较过时的一些系统了) 1.Windows家庭组的简介 使用家庭 ...

  2. 现代程序设计——homework-01

    1.我的GitHub用户 首先,接触到现代程序设计这门课之后我才正式开始使用GitHub和它的客户端,以前都是去网站看代码.扒样例.我注册的账户名为:hennande.目前该账户中有我的第一份关于ho ...

  3. EventBus使用小记

    自从使用了EventBus,代码干净了好多. 从此你不用startActivityForResult了,从此你不用再写注册BroadcastReceiver了,从此你不用再写一些回调了. 只需要在需要 ...

  4. fscanf(格式化字符串输入)

    fscanf(格式化字符串输入) 相关函数 scanf,sscanf 表头文件 #include<stdio.h> 定义函数 int fscanf(FILE * stream ,const ...

  5. nyoj 218 Dinner

    Dinner 时间限制:100 ms  |  内存限制:65535 KB 难度:1   描述 Little A is one member of ACM team. He had just won t ...

  6. 如何使用Keil仿真环境查看CPU类型字长?【worldsing笔记】

    笔者上次写了如何用IAR查CPU的字长和数据类长度的方法:点击这里查看 今天试着在Keil MDK 5.0 里查看CPU的字长和数据类长度,打开一个已有的工程,编译并进入Debug,如图1.1所示: ...

  7. java properties 文件中书写相对路径

    工程src下的properties 文件要引用发布到D:\work\apache-tomcat-7.0.52\webapps\项目名称\certs这个地址下的文件,properties 中的文件路径应 ...

  8. Oracle- 分页例子

    Oracle分页的写法,比MSSQLSERVER还简单. 记录如下: select t.*, rownum r from (select su02, wi00, wi01, wi02, wi05, t ...

  9. Android v4 包和v7包问题

    昨天新建了一个android项目,加入了一个bootstrap的外部依赖和一个底部导航栏的外部依赖.结果jj 了,老是提醒我v4包v7包冲突: 事实是这样的,首先我的底部导航依赖库里面有一个v4包,那 ...

  10. Microsoft.AspNet.FriendlyUrls发布到IIS后404报错的解决方案

    我一个项目都基本上做完了,结果部署到我服务器的时候结果一直报404 找不到 一看global.asax有个路由注册的代码 public static void RegisterRoutes(Route ...