select2使用
一、简介
select2是Jquery用来代替选择框的一种组件。它让你可以定制下拉框,并且支持搜索、标记,远程数据源,无限滚动和其他更高级的功能。select2的下载地址为:https://select2.github.io/ 。这里使用到的是select2-4.0.0版本。下载该版本后,解压文件,在dist目录下有js与css文件。使用select就需要引用这些的文件。
二、使用
1、引入jQuery与select2样式、js文件如下:
<link href="css/select2.min.css" rel="stylesheet" />
<script src="js/jquery.1.11.2.min.js"></script>
<script src="js/select2.min.js"></script>
<script src="js/i18n/zh-CN.js"></script>
这里用到的Jquery是1.11.2版本,zh-CN.js为select2本地化的文件。其中select2.min.css、select2.min.js与zh-Cn.js文件都是dist目录下的文件。
2、示例
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>select2-4.0.0 示例</title>
<link href="css/select2.min.css" rel="stylesheet" />
</head>
<body>
<div>
select2: <select id="test1" style="width: 20%" multiple="multiple">
<option ></option>
<option value="2">222222</option>
<option value="3">33223333</option>
<option value="4">333333</option>
<option value="5">223333</option>
<option value="6">444444</option>
<option value="7">555555</option>
<option value="8">666666</option>
<option value="9">777777</option>
<option value="10">98888888888888888888888888888888888777777</option>
</select>
<button id="clear2" >清除</button>
<button id="setValue" >设置777777</button>
<button id="getValue" >获取</button>
<button id="enable" >enable</button>
<button id="disable" >disable</button>
</div>
<div>
select2: <select id="test2" style="width: 20%" /><!-- 多选时加上multiple="multiple" 并在回显时,回传所选的值数组 -->
<input id="personid" type="hidden" name="personid" />
</div> <script src="js/jquery.1.11.2.min.js"></script>
<script src="js/select2.min.js"></script>
<script src="js/i18n/zh-CN.js"></script>
<script type="text/javascript">
$(document).ready(function(){
//静态select渲染
$('#test1').select2({
placeholder: "请选择",
language: "zh-CN"
}); $("#clear2").on("click", function () { //置空
$("#test1").val(null).trigger("change");
}); $("#setValue").on("click", function () { //设置某一个值
$("#test1").val("9").trigger("change");
}); $("#getValue").on("click", function () { //获取选中值
alert($("#test1").val());
}); $("#disable").on("click", function () { //启用
$("#test1").prop("disabled", true);
}); $("#enable").on("click", function () { //禁用
$("#test1").prop("disabled", false);
}); //select2动态加载数据
$("#test2").select2({
placeholder: "请选择",
language: "zh-CN",
ajax: {
url: "${ctx}/person/list.action",
dataType: 'json',
delay: 250,
data: function (term, page) {
console.log(term);
return {
keyword : term,//输入的内容,会发给服务器进行查找
//以下两行可以在数据量大的时候用到(当下拉框往下拉的时候会加载下一页),数据量不大的时候,可以直接注释
pagesize : 20,//页面大小
page : page //当前页
};
},
results: function (data, page) {
var more = (page * ${tpagesize}) < data.total;//判断是还有记录
return {
results: data.rows , more : more
};
}
},
escapeMarkup: function (markup) { return markup; },
// minimumInputLength: 1,
formatResult: function(row) {//选中后select2显示的 内容
return row.name;
},
formatSelection: function(row) { //选择的时候,需要保存选中的id
$("#personid").val(row.id);
return row.name;//选择时需要显示的列表内容
},
});
});
</script>
</body>
</html>
对于动态渲染的下拉框,请求服务器后,服务器返回的数据是json数据。json数据格式如下:
{"total":200,"rows":[{"id":"10001", "name":"zhangsan"},{"id":"10001", "name":"zhangsan"},{"id":"10001", "name":"zhangsan"},{"id":"10001",
"name":"zhangsan"},{"id":"10001", "name":"zhangsan"},{"id":"10001", "name":"zhangsan"}]}
select2使用的更多相关文章
- 利用Select2优化@Html.ListBoxFor显示,学会用MultiSelectList
最近需要用到多选框,Asp.Net MVC自带的@Html.ListBox或@Html.ListBoxFor的显示效果太差,于是找到了Select2进行优化,并正式了解了多选框的操作方法. 首先介绍多 ...
- ajax获取json数据 for select2
json数据“a.json” [ { "id": "1", "text": "张三" }, { "id&quo ...
- select2 demo
https://select2.github.io/examples.html 一大堆的坑: 1. 不同版本之间貌似不兼容,对应版本看对应的文档. 2. 4.0.3版本: 1). 自定义渲染的opti ...
- 解决select2在bootstrap的modal中默认不显示的问题
在Bootstrap中的Modal,select2插件会有不显示,因为其z-index小于modal,还有另外一个问题是,修正z-index之后,select2不会自动失去焦点的问题.代码解决如下: ...
- select2 清空数据
最近用select2插件,发现用jquery重置不好使,最后搜罗了一把发现下面这个方法可以间接的实现,有空还得看看插件的API $('#integratorId').select2('data', n ...
- select2插件不兼容ie7,ie7下样子显示错位问题
1.源文件(未修改) select2.min.css.select2.min.js 2.ie7下显示样式: 3.ie8下显示样式: 4.经查看发现ie7下对一些属性的解析和ie8不同,需对ie7另作h ...
- select2的相关问题
在弹出框中无法使用select2的问题: 通常情况下,使用select2只需要在加载相关js和css后,添加如下代码即可: $("#selectId").select2(); 但如 ...
- bootstrap与Select2使用小结
这个select2组件的功能确实很强大,可以将图片放入到select里面随着文字一起显示. 组件的下载地址以及API说明地址: 1.Select2使用示例地址:https://select2.gith ...
- 解决Select2控件不能在jQuery UI Dialog中不能搜索的bug
本文使用博客园Markdown编辑器进行编辑 1.问题呈现 项目中使用了jQuery UI的Dialog控件,一般用来处理需要提示用户输入或操作的简单页面.逻辑是修改一个广告的图片和标题. 效果截图如 ...
- JS组件系列——Bootstrap Select2组件使用小结
前言:在介绍select组件的时候,博主之前分享过一篇JS组件系列——两种bootstrap multiselect组件大比拼,这两个组件的功能确实很强大,只可惜没有图文结合的效果(也就是将图片放入到 ...
随机推荐
- Scrum 项目7.0--软件工程
Sprint回顾 1.回顾组织 主题:“我们怎样才能在下个sprint中做的更好?” 时间:40分钟. 参与者:整个团队. 场所:电脑教室. 秘书:卢晓洵. 2.回顾流程 sprint总结 ...
- spring日记------部署环境、写demo
一.安装jdk1.7 祥见http://zhinan.sogou.com/guide/detail/?id=1610006590 二.创建web项目 略 三.配置ssm环境 3.1添加spring.m ...
- android 获取当前位置
1. Android开发位置感知应用程序方式:1. GPS 定位 精确度高,仅适用于户外,严重消耗电量.如果手机内置GPS接受模块,即使手机处于信号盲区,依然可以获取位置信息. 2. NETW ...
- Mysql有没有语法可以在增加列前进行判断该列是否存在
Mysql没有直接的语法可以在增加列前进行判断该列是否存在,需要写一个存储过程完成同样任务,下面例子是:在sales_order表中增加一列has_sent列 drop procedure if ex ...
- Winform开发框架之权限管理系统改进的经验总结(1)-TreeListLookupEdit控件的使用
最近一直在做一些技术性的研究和框架改进工作,博客也落下好几天没有更新了,也该是时候静下心来,总结这段时间的一些技术改进的经验了.和上一阶段的CRM系统开发和技术研究一样,我都喜欢在一个项目或者模块完成 ...
- SQL 日期转换(阳历转阴历)
--步骤:创建日期表,放初始放初始化资料 --因为农历的日,是由天文学家推算出来,到现在只有到年,以后的有了还可以加入! if object_id('SolarData') is not nulldr ...
- 重新想象 Windows 8.1 Store Apps (76) - 新增控件: SearchBox
[源码下载] 重新想象 Windows 8.1 Store Apps (76) - 新增控件: SearchBox 作者:webabcd 介绍重新想象 Windows 8.1 Store Apps 之 ...
- sql 大数据库 插入超时问题解决
解决的办法:1. 不要使用自动收缩, 自动收缩会定期收容数据文件的空闲空间,则处理需要的时候却要扩大数据文件,这两者相反的处理,是冲突的设置方法:ALTER DATABASE MyDataBase S ...
- 从零开始学习Linux(ls命令)
学习Linux已经两年了,可是仍然是小白一个.用过很多命令,可是很多都没记住,基础不扎实,很大程度上是不记笔记,得过且过. 从今天起,开始整理Linux笔记. Linux每个命令都有--help这个选 ...
- servlet中的转发和重定向问题
重定向和请求转发在学习servlet的时候很容易混淆,故在此特意记录. 1. 重定向---------sendRedirect()方法 Servlet响应请求有两种方式,一个是重定向,返回一个页面给客 ...