select2插件使用小记
插件官网:https://select2.github.io/examples.html
页面引入:
// 页面顶部
<link rel="stylesheet" type="text/css" href="css/select2.min.css"> // 页面底部
// 依赖jQuery,引入jQuery之后,还需引入以下js文件
<script type="text/javascript" src="js/select2/select2.full.min.js"></script>
<script type="text/javascript" src="js/select2/lang/zh-CN.js"></script>
调用select2
var util = {
select2: function(options){
select2(options); //将输入的值作为其值
var inputAsValue = function($target, value){
var id = "select2-" + $target.attr("id") + "-container";
$("#advertiser_name_input").val(value).keyup();
$("#"+id).text(value);
}; function select2(arg) {
var requireName = arg.requireName;
arg.target.select2({
placeholder:arg.placeholder, // 文本框的提示信息
language: 'zh-CN',
// 若不想引入zh-CN.js文件,可注释上一句,改为下面的即可
/*
language: {
noResults: function() {
return"未找到结果"
} ,searching: function() {
return"搜索中…"
}
}
*/
minimumInputLength: 1, // 至少输入n个字符,才去加载数据;若设置为0,则点击选择框,不用输入内容,就去加载数据;默认为0
maximumInputLength: 100, // 限制最大字符,以防坑
data: options.data,
ajax: {
url: arg.url,
dataType: 'json',
method: 'post',
quietMillis:100,
delay: 250,
data: function (params) {
var data = {}, id;
data[arg.requireName] = params.term; // 查询的关键字
// data['page'] = params.page;
return $.extend(true, data, arg['other']);
},
processResults: function (result, params) {
// params.page = params.page || 1;
if(result && result.flag && !$.isEmptyObject(result.data)){
var resultData = result.data,
selectData = [], selectObj = {};
for(var i=0,len=resultData.length; i<len; i++){
selectObj = {
'id': resultData[i]['id'] || '',
'text': resultData[i]['name'] || '',
'industry_id': resultData[i]['industry_id'] || ''
};
selectData.push(selectObj);
}
return {
/* pagination: {
more: (params.page * 30) < 100 //data.total_count
},*/
results: selectData
};
}else{
var noData = [
{id:0,text:'暂无数据'}
];
return {
results:noData
};
}
},
cache: true
},
escapeMarkup: function (markup) { return markup; }
});
arg.target.on("change", function(e){
options.change && options.change();
});
}
}
}; // 调用
util.select2({
target: $('#select'),
url: pageInfo.activityNameUrl,
requireName: 'key',
callback: '',
data: {'id', 11},
change: function(){
var $select = $('#select');
var data = $select.select2("data")[0];
// 其余操作
}
});
注意:注释的代码可以实现分页功能, 鼠标拖动滚动条往下滚时,再去请求再显示下一页的效果;但是需要后台支持,根据请求参数page的页数,返回响应的数据。
设置默认值或回填值:
if(selectId !=''){
$("#select").html('<option value="'+selectId +'">'+selectVal+'</option>').trigger('change');
}
显示全部:
名称:<select class="select-w100 select2" name="select" id="select">
<option value="">全部</option>
</select>
获取值(多选值,默认用逗号分隔):
获取多选值
$('#save-btn').click(function(){
var city = $('#city').val();
var cityDesc = $('#city option:selected').text();
})
特殊地方:select2下拉框插件,可以做多选,但是每选一次就会收起一次下拉。
逐个勾选,多选完后,点击下拉框外面的区域再收起。
可以设置:closeOnSelect: false
select2插件使用小记的更多相关文章
- select2插件使用小记2 - 多选联动 - 笔记
这是select2插件使用的第二篇,可参考第一篇 select2插件使用小记.上一篇主要是关于基本的使用,这篇主要是关于多选,及联动的.侧重点不同. 效果图如下: 遵从W3C标准:结构.样式.行为.以 ...
- select2插件
引入select2插件<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min. ...
- 基于Metronic的Bootstrap开发框架经验总结(3)--下拉列表Select2插件的使用
在上篇<基于Metronic的Bootstrap开发框架经验总结(2)--列表分页处理和插件JSTree的使用>介绍了数据的分页处理,使用了Bootstrap Paginator插件,另外 ...
- Metronic_下拉列表Select2插件的使用
这个插件是基于Select的扩展插件,能够提供更加丰富的功能和用户体验,它的github官网地址为:https://select2.github.io/,具体的使用案例,可以参考地址:https:// ...
- 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插件的隐藏、设置宽度
<select id="selPrinvice" class="Select2 select2-hidden-accessible" style=&quo ...
- 01:jQuery的下拉选select2插件用法
1.1 select2插件基本使用 1.下载select2插件 1. 下载地址:https://github.com/select2/select2 2.官网地址:https://select2.or ...
- 在select2插件中append下拉选,点击没反应的解决
今天前端大佬帮我解决了一个棘手的问题:克隆了已有系统的网页,尝试把复制下来的html改造成jsp.基本功能正常,然而点击新增按钮,出来的行无法点击下拉选,控制台也没报错. 项目用的是jeesite2. ...
随机推荐
- BP神经网络测试MNIST记录
约定: 所有的初始化权值范围,如下,就是说更换激活函数的情况,没有过大的调整初始权重. if(randomMode==1): numpy.random.seed(seedWih) self.wih = ...
- 68.iOS设备尺寸及型号代码(iPhoneXR/XS)
所有设备型号官网地址: https://www.theiphonewiki.com/wiki/Models iPhone: 机型 像素 比例 像素密度 屏幕尺寸 机型代码 发布日期 iPhone 2g ...
- nginx反向代理缓存服务器的构建
一:代理服务可简单的分为正向代理和反向代理: 正向代理:用于代理内部网络对Internet的连接请求(如VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标Web服务器的HTTP请求先发送 ...
- 2018.12.19 atcoder Iroha and a Grid(组合数学)
传送门 组合数学好题. 给你一个hhh行www列的网格,其中左下角aaa行bbb列不能走,问从左上角走到右下角有多少种走法(每次只能向右或者向下) 我们考虑分步计数. 我们一共能走的区域是总网格区域去 ...
- 1.The Necessity of a Broad Education 全面教育的必要性
1.The Necessity of a Broad Education 全面教育的必要性 (1) According to a survey,which was based on the respo ...
- Spring boot 集成Dubbo简单版,准备工作,
一.GitHub上找寻Dubbo资源 阿里巴巴在其GitHub上已经写好一个Github案例所以我们只要进入其Git上就可以看到和clone这个项目 二.阿里巴巴GitHub使用 https://gi ...
- Python处理微信利器——itchat
接触itchat是一个偶然,上知乎刷出一个有意思的文章.于是乎运行源码,调错加上查阅博客,发现itchat大有可为. 知乎链接:https://zhuanlan.zhihu.com/p/2578293 ...
- Redis的appendfsync参数详解
redis.conf中的appendfysnc是对redis性能有重要影响的参数之一.可取三种值:always.everysec和no. 设置为always时,会极大消弱Redis的性能,因为这种模式 ...
- C#-.Net Framework和.Net Compact Framework-摘
.Net Compact Framework 一种独立于硬件的环境,用于在资源受限制的计算设备上运行程序.它继承了公共语言运行时的完整 .NET Framework 结构,支持 .NET Framew ...
- Beta阶段第一篇 Scrum 冲刺博客
介绍小组新加入的成员,Ta担任的角色 新成员 担任角色 张晨晨 测试 理由:晨晨代码能力有待提高,但心思细腻有耐心,适合测试工作. 讨论是否需要更换团队的PM 通过团队讨论决定不更换团队PM,理由是在 ...