bootstrap select2 php,JS组件Bootstrap Select2使用方法详解

在介绍select组件的时候,之前分享过一篇JS组件中bootstrap multiselect两大组件较量的文章,这两个组件的功能确实很强大,本文分享下select组件的一些用法和特性。

一些通用的单选、多选、分组等功能这里就不多做介绍了,multiselect这方面是强项。重点介绍下select2的一些特性效果:

一、特性效果

1、多选效果

0d14851862f602d866e94e41321f9e39.png

19f99bed928d3f80f824be01260c8fe2.png

可以设置最多只能选几个

95d1b79a9be2927604188dd91ef7dcb4.png

2、图文结合的效果

4631cf08280828c748d99cc69f4455e6.png

3、远程搜索功能(即在用户输入搜索内容时动态去后台取数据)

输入内容前

7c1e34fc0138e56dacae9cc69156ee61.png

输入空格搜索出全部

cfcee72ebee8f4c9c30f73e432a53094.png

滚动条滑动到底部自动加载剩余项

58cf05f0ae911dd8dc1cf0f8d28c025a.png

输入文本动态去后台过滤

e94d6f6c4546886aa7289b9f7eed34e6.png

更高级的用法如:

7a0e76aee9bdcdfa2f54adc158c8894b.png

其实使用起来也不难,就是一个拼html的过程。

二、代码示例

1、多选效果

select2的多选很简单,设置一个属性就好了。

用户管理

角色管理

部门管理

菜单管理

订单查询

订单导入

订单删除

订单撤销

基础数据维护

//多选

$("#sel_menu2").select2({

tags: true,

maximumSelectionLength: 3 //最多能够选择的个数

});

2、图文结合的效果

用户管理

角色管理

部门管理

菜单管理

订单查询

订单导入

订单删除

订单撤销

基础数据维护

$(function () {

//带图片

$("#sel_menu").select2({

templateResult: formatState,

templateSelection: formatState

});

});

function formatState(state) {

if (!state.id) { return state.text; }

var $state = $(

''%20+%20state.element.value.toLowerCase()%20+%20'.ico ' + state.text + ''

);

return $state;

};

3、远程搜索功能(即在用户输入搜索内容时动态去后台取数据)

请选择

$(function () {

//远程筛选

$("#sel_menu3").select2({

ajax: {

url: "/Home/GetProvinces",

dataType: 'json',

delay: 250,

data: function (params) {

return {

q: params.term, // search 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: true

},

escapeMarkup: function (markup) { return markup; }, // let our custom formatter work

minimumInputLength: 1,

templateResult: formatRepoProvince, // omitted for brevity, see the source of this page

templateSelection: formatRepoProvince // omitted for brevity, see the source of this page

});

});

function formatRepoProvince(repo) {

if (repo.loading) return repo.text;

var markup = "

"+repo.name+"
";

return markup;

}

这里有要注意的一个地方就是processResults属性对应的方法有一个more属性用于是否分页显示的,这里的值要和你需要一次显示的值的条数匹配。

后台对应的方法如下:

public List lstProvince = new List() {"北京市","天津市","重庆市","上海市","河北省","山西省","辽宁省","吉林省","黑龙江省","江苏省","浙江省","安徽省","福建省","江西省","山东省","河南省","湖北省","湖南省","广东省","海南省","四川省","贵州省","云南省","陕西省","甘肃省","青海省","台湾省","内蒙古自治区","广西壮族自治区","西藏自治区","宁夏回族自治区","新疆维吾尔自治区","香港特别行政区","澳门特别行政区" };

public JsonResult GetProvinces(string q, string page)

{

var lstRes = new List();

for (var i = 0; i < 30; i++)

{

var oProvince = new Province();

oProvince.id = i;

oProvince.name = lstProvince[i];

lstRes.Add(oProvince);

}

if (!string.IsNullOrEmpty(q.Trim()))

{

lstRes = lstRes.Where(x => x.name.Contains(q)).ToList();

}

var lstCurPageRes = string.IsNullOrEmpty(page) ? lstRes.Take(10) : lstRes.Skip(Convert.ToInt32(page) * 10 - 10).Take(10);

return Json(new { items = lstCurPageRes, total_count = lstRes.Count }, JsonRequestBehavior.AllowGet);

}

上面说了这么多,那么我们在选中select2的选项之后如何取值和赋值呢?

1、获取选中的值

var oMenuIcon = $("#txt_menuicon_web").select2({

placeholder: "请选择菜单图标",

templateResult: oInit.formatState,

templateSelection: oInit.formatState

});

oMenuIcon.val();

2、设置select2的选中值

var oMenuIcon = $("#txt_menuicon_web").select2({

placeholder: "请选择菜单图标",

templateResult: oInit.formatState,

templateSelection: oInit.formatState

});

oMenuIcon.val("CA").trigger("change");

以上就是关于select2的一些特性效果介绍,希望对大家的学习有所帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/547651.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

恢复Linux系统权限

注意 如果Linux整个系统文件权限都被设置为777&#xff0c;请不要重启系统&#xff0c;因为很多同学认为万能的重启能解决98%的问题。重启后权限就能恢复。但这次请不要重启系统&#xff0c;如果重启系统&#xff0c;系统直接损坏。 解决思路 虽然损坏的服务器没有权限备份&…

读《我们终将逝去的青春》

前一阵看了电影版的《致我们终将逝去的青春》&#xff0c;刚好手上有这本小说&#xff0c;于上我急功近利地花了大概2天把文字版的《致青春》看完了。总体感觉电影版对小说的后半部分做了大幅的修改&#xff0c;感觉修改得不太好。也许电影的主题是青春无悔的爱情&#xff0c;而…

文件删除小助手

亲&#xff0c;还在为删除多个文件而发愁吗&#xff1f;还在为删除不同目录下的N多文件而发愁吗&#xff1f;那你就下载这个吧。 功能以及优点&#xff1a; 1.支持删除某一类文件。 2.支持某一路径下所有文件的检索删除。 3.支持复杂文件名称匹配。 4.免安装&#xff0c;绿色中…

2020-11-29

分布式爬虫往往都需要多个环境&#xff0c;多个进程&#xff0c;如果手动去管理这些环境是很费事的&#xff0c;使用Docker集群就能很好地帮你解决这些问题&#xff0c;让你的爬虫管理变得简单。 主节点安装Docker 这里主节点建议大家使用Ubuntu&#xff0c;从节点随意。 Ubun…

用php实现随机点名,使用javascript做的一个随机点名程序

这篇文章主要介绍了使用javascript做的一个随机点名程序&#xff0c;经测试&#xff0c;效果相当不错,需要的朋友可以参考下/p>"http://www.w3.org/TR/html4/loose.dtd">点名var status 1;var name new Array(范 鹏,张子涵,代天明,孙 季,孙 磊,王鸿罡,曾凡丁…

C#模拟POST表单提交 --- WebClient

WebClient&#xff1a;http://msdn.microsoft.com/zh-cn/library/system.net.webclient(vVS.80).aspx&#xff08;MSDN&#xff09; 代码&#xff1a; string postString "arg1a&arg2b";//这里即为传递的参数&#xff0c;可以用工具抓包分析&#xff0c;也可以自…

nginx反向代理配置实例分享

nginx反向代理配置一例。 配置内容如下: user www www; worker_processes 8; error_log /usr/local/webserver/nginx/logs/nginx_error.log crit; pid /usr/local/webserver/nginx/logs/nginx.pid; worker_rlimit_nofile 51200; events { use epoll; worker_connections 51200;…

八伟大的工具,Windows用户永远都不想错过

有许多的应用程序你可以找到&#xff0c;但是获得免费并且好用 的程序不是一件容易的事情&#xff0c;每当你需要这样的软件的时候&#xff0c;你就会网上搜啊搜&#xff0c;结果下载下来一运行达不到想要的效果&#xff0c;这就是今天我分享我收藏的8个工具原因&#xff0c;这…

Python3网络设备巡检(交换机篇)

介绍 只写了交换机的&#xff0c;路由器、防火墙、负载等其它设备以后&#xff0c;有需求再写&#xff0c;下面以一组交换机为例。 思路 1、收取交换机的信息 需要哪些信息&#xff0c;哪些命令&#xff0c;不同品牌交换机命令不同&#xff08;本篇以H3C为例&#xff09;&a…

java免费游戏,java – 分配免费游戏

我的代码基本上是免费分配的,但是当60fps时,GC每30秒运行一次.使用DDMS检查应用程序以进行分配显示有大量的SimpleListIterator被分配.还有一些东西被分配,因为我使用Exchanger.SimpleListIterator来自(T obj&#xff1a;objs){}的每个循环.我的印象是编译器/翻译器会优化那些不…

python字典键值对转化为相应的变量名和变量值

将python字典键值对转化为相应的变量名和变量值可以使用以下方法&#xff1a; globals().update({"name":"value"}) locals().update({"var":"val"}) 举例如下&#xff1a; >>> D{a:1,b:2,c:3} >>> globals().updat…

IE与IE内核浏览器的那点事

真正的IE浏览器与IE内核的浏览器是不是一回事呢&#xff0c;是不是完全一样咧&#xff1f;如果不一样又有什么关系咧&#xff1f;下面一起来找答案吧&#xff01; 知识补给&#xff1a; 1.浏览内核 简介 2.IE内核浏览器 简介 我的结论&#xff1a;根据以往的经验和上面资料可…

Python 代码优化常见技巧

代码优化能够让程序运行更快&#xff0c;它是在不改变程序运行结果的情况下使得程序的运行效率更高&#xff0c;根据 80/20 原则&#xff0c;实现程序的重构、优化、扩展以及文档相关的事情通常需要消耗 80% 的工作量。优化通常包含两方面的内容&#xff1a;减小代码的体积&…

adb shell——Android虚拟机调试必须知道的命令

2019独角兽企业重金招聘Python工程师标准>>> 之前开发Android的时候喜欢用自己的手机来调试&#xff0c;特别是数据库&#xff01;&#xff01;&#xff01;因为是自己的手机嘛&#xff0c;可以安装一些类似数据库编辑器的工具&#xff0c;调试起来非常方便&#xf…

mysql6.10,MySQL经典50题-第6-10题

MySQL50-4-第6-10题本文中介绍的是第6-10题&#xff0c;涉及到的主要知识点&#xff1a;模糊匹配和通配符使用表的自连接in/not in连接查询的条件筛选image题目6题目需求查询“李”姓老师的数量分析过程使用通配符和like来解决SQL实现select count(t_name) from Teacher where …

增加系统右键菜单

本文介绍添加系统右键菜单&#xff0c;效果如下图&#xff1a; 原理很简单就是给注册表添加值&#xff0c;以下是添加系统右键菜单所要涉及的值。 KEY值&#xff1a;HKEY_CLASSES_ROOT\*\shell&#xff08;所有文件的右键菜单&#xff09;HKEY_CLASSES_ROOT\directory\shell&am…

Nginx-ingress部署及使用

目录 一 手动部署-官网版 1.1 获取资源1.2 安装RBAC1.3 安装基础资源1.4 安装ingress controllers1.5 创建ingress controllers service二 手动部署-github社区版(推荐&#xff09; 2.1 获取资源2.2 创建default backend2.3 确认验证三 ingress使用 3.1 创建demo环境3.2 创建i…

转:数字对讲机常识介绍

一、国内外数字对讲机发展动态 从整个移动通信的应用来划分&#xff0c;通信网络可分为公众移动通信和专业移动通信两大类&#xff0c;其中公众移动通信就是社会上广大消费者正在使用的2G、3G移动手机&#xff0c;它是为广大公众提供移动通信服务的&#xff0c;任何人都有权购买…

mac 启动php70 fpm,mac 启动php-fpm

Mac OS X 10.9已经自带有php-fpm&#xff0c;对于有干净系统强迫症的人&#xff0c;或者原装控来说&#xff0c;用brewhome重装一遍总感觉心里会有小兔子&#xff0c;下面把原装的php-fpm配置起来。直接运行&#xff0c;有报错找不到配置文件。$ php-fpm[11-Jan-2014 16:03:03]…

WinRAR(WinZip)压缩与解压实现(C#版Window平台)

本文的原理是借助Windows平台安装的WinRAR(WinZip)实现C#程序的调用&#xff08;注&#xff1a;WinRAR压缩解压WinZip同样适用&#xff09;。 先来看WinRAR&#xff08;WinZip&#xff09;自身的支持调用命令&#xff1a; 压缩命令&#xff1a;a {0} {1} -r 【{0}&#xff1a;…