欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

JS组件Bootstrap Select2使用方法详解_javascript技巧

程序员文章站 2022-04-14 20:51:46
...
在介绍select组件的时候,之前分享过一篇JS组件中bootstrap multiselect两大组件较量的文章,这两个组件的功能确实很强大,本文分享下select组件的一些用法和特性。
一些通用的单选、多选、分组等功能这里就不多做介绍了,multiselect这方面是强项。重点介绍下select2的一些特性效果:
一、特性效果
1、多选效果

JS组件Bootstrap Select2使用方法详解_javascript技巧

JS组件Bootstrap Select2使用方法详解_javascript技巧

可以设置最多只能选几个

JS组件Bootstrap Select2使用方法详解_javascript技巧

2、图文结合的效果

JS组件Bootstrap Select2使用方法详解_javascript技巧

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

JS组件Bootstrap Select2使用方法详解_javascript技巧

输入空格搜索出全部

JS组件Bootstrap Select2使用方法详解_javascript技巧

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

JS组件Bootstrap Select2使用方法详解_javascript技巧

输入文本动态去后台过滤

JS组件Bootstrap Select2使用方法详解_javascript技巧

更高级的用法如:

JS组件Bootstrap Select2使用方法详解_javascript技巧

其实使用起来也不难,就是一个拼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 = $(
  'JS组件Bootstrap Select2使用方法详解_javascript技巧 ' + 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) "+repo.name+"
"; return markup; }