tera term 使用方法_前端插件之Select2使用

工欲善其事,必先利其器

本系列文章介绍我在运维系统开发过程中用到的那些顺手的前端插件,上一篇文章介绍了bootstrap-duallistbox这个插件的使用,这一篇开始Select2的征服之旅

Select2是一款基于JQuery的下拉列表插件,主要用来优化select,支持单选和多选,同时也支持分组显示、列表检索、远程获取数据等众多好用的功能

项目地址:https://select2.org

基本使用

需要用到的JS和CSS文件位于项目代码下的dist目录中,需要将这个目录中的对应文件放入你的项目里,这一步不赘述

1.  引入CSS/JS文件,由于Select2是基于Jquery的,所以要先引入Jquery,这里我们都直接引入CDN的地址


<script src="https://code.jquery.com/jquery-3.2.1.min.js">script>


<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.8/css/select2.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.8/js/select2.min.js">script>

2.  初始化Select2

<select class="form-control" id="id_select2_demo1">
    <option value="">-----单选-----option>
    <option value="1">OPS-COFFEE-Aoption>
    <option value="2">OPS-COFFEE-Boption>
    <option value="3">OPS-COFFEE-Coption>
    <option value="4">OPS-COFFEE-Doption>
    <option value="5">OPS-COFFEE-Eoption>
    <option value="6">OPS-COFFEE-Foption>
    <option value="7">OPS-COFFEE-Goption>
select>

<script>var selectorx = $('#id_select2_demo1').select2();script>

3.  完成以上两步可以看到页面效果如下

a6b4afde0ce43d2ac5ca4f8663d7dd98.png

设置提示语placeholder

$('#id_select2_demo1').select2({
    placeholder: '请选择'
});

placeholder: 选择框的提示语,需要注意,要想让这个提示语生效,需要select的option里边有一个value为空的option,例如上边例子中的

<option value="">-----单选-----option>

隐藏搜索框

与默认的select除了样式上的区别外,最重要的是多了个搜索框,能用来搜索option项,如果你不想显示这个搜索框,可以通过设置项minimumResultsForSearch隐藏

var selectorx = $('#id_select2_demo1').select2({
    minimumResultsForSearch: -1
});

加载本地数据

除了实例化已经存在的select之外,也可以通过设置项data加载本地数据

var sdata = [
    {id: 1, text:'OPS-COFFEE-1'},
    {id: 2, text:'OPS-COFFEE-2'},
    {id: 3, text:'OPS-COFFEE-3'}
]

$('#id_select2_demo2').select2({
    data: sdata
});

select2能够加载的数据格式如上,需要两个数据属性idtext,当然你也可以加载其他的额外属性以在需要时获取

加载远程数据

除了加载本地数据外,也支持ajax异步去后端获取数据,用法如下:

$('#id_select2_demo3').select2({
    placeholder: 'Ajax后端获取数据示例',
    ajax: {
      url: "sdata.json",
      dataType: 'json',
      delay: 250,
      data: function (params) {
        return {
          search: params.term,
        };
      },
      processResults: function (data) {
        return {
          results: data
        };
      },
      cache: true
    },
    minimumInputLength: 2
});

delay: 250: 配置告诉select2在用户停止输入多少毫秒后开始查询,合理设置可以避免频繁向后端发送请求

search: params.term: 定义了要传递给后端的查询参数,search为发送到服务端的参数名,params.term表示输入框中输入的内容,当然这里也可以添加一些自定义的参数,例如:

data: function (params) {
    return {
      search: params.term,
      site: "https://ops-coffee.cn"
    };
},

那么当你输入OPS时,服务端接受到的完整参数就是/sdata.json?search=OPS&site=https://ops-coffee.cn

results: data: 定义了后台返回的数据,其中data为select2能够识别的格式,如果后端返回的格式不是select2能够识别的格式,例如下边这样

{
    "state": 1, 
    "message":[
        {"id": 0, "text":"-----单选-----"},
        {"id": 1, "text":"OPS-COFFEE-1"},
        {"id": 2, "text":"OPS-COFFEE-2"},
        {"id": 3, "text":"OPS-COFFEE-3"}
    ]
}

那么你需要先将其处理成select2能够识别的格式,这里我们就需要取出date中的message

processResults: function (data) {
    return {
      results: data.message
    };
},

minimumInputLength: ajax异步请求通常我们会配合配置项minimumInputLength使用,这个配置项的意思是输入指定长度的字符后开始搜索,也就是点击select选择框默认不会去后台请求数据,当你输入指定长度的字符时才会去搜索,这样在你搜索项非常多的时候能更精确的匹配你想要的内容

如果你想点击即显示所有option,那么你可以将他的值设置为0,或者不配置这个配置

同时也可以通过maximumInputLength配置项配置输入字符的最大长度

多选支持

select2对多选的支持也非常简单,跟默认的select标签一样只需要在select标签中添加multiple="multiple"即可

<select class="form-control" id="id_select2_demo4" multiple="multiple">
    value="1">OPS-COFFEE-A
    value="3">OPS-COFFEE-C
    value="4">OPS-COFFEE-D
    value="5">OPS-COFFEE-E
select>

var selectory = $('#id_select2_demo4').select2({
    placeholder: '请选择,最多选择三个',
    allowClear: true,
    maximumSelectionLength:3,
});

显示效果如下:

0d7916dff91a2cdfbe7811b58dec04f6.png

allowClear: 是否显示清楚按钮,默认false,如果设置为true,需要同时配置placeholder,否则可能会引起js报错:

TypeError: Cannot read property 'id' of undefined

maximumSelectionLength: 配置最多能选择多少项

配置说明

另外还有几个配置上边没有讲到的:

width: 宽度,例如100%

multiple: 是否支持多选,默认false

closeOnSelect: 是否选中后关闭选择框,默认true

tags: 是否可以动态创建选项

disabled: 是否禁用

debug: 是否开启debug模式

使用进阶

获取已选择的值,无论是单选还是多选都可以用下边的代码来获取选择的option

$('#id_select2_demo4').select2('val')

获取已选择的对象

$("#id_select2_demo4").select2("data")

如果想要拿到已选择option的text值,可以通过如下方法,以下代码中的[0]用来获取第一个对象,对单选合适,如果是多选的话需要循环获取

$("#id_select2_demo4").select2("data")[0].text

selected,初始化值,设置选中项

# 单选情况下val为数字,这里的selectx为
$("#id_select2_demo1").val(2).trigger("change");

# 多选情况下val为列表
$("#id_select2_demo4").val([2,3,5]).trigger("change");

清空已选择的值,无论是单选还是多选都可以这样清除

$("#id_select2_demo1").val(null).trigger('change');
$("#id_select2_demo4").val(null).trigger('change');

禁用select2

$("#id_select2_demo1").prop('disabled',true);;
$("#id_select2_demo4").prop('disabled',true);;

动态添加select的option

$('#add').click(function() {
    var _html = 'ops-coffee.cn';
    $('#id_select2_demo1').append(_html).trigger('change.select2');
    $('#id_select2_demo1').select2("open");
})

change.select2: 新增select数据后触发select2更新

.select2("open"): 打开select,open改为close可动态关闭select,改为destroy可销毁select2,恢复select默认样式

完整Demo

为了方便大家学习,我写了个完整的demo,你可以在线查看效果或下载代码应用到自己的项目中

在线Demo地址:https://demo.ops-coffee.cn/select2/

Github源码地址:https://github.com/ops-coffee/demo/tree/master/select2


e01c916458508f14220115591a601a29.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TeraTerm是一款常用的终端模拟器软件,常用于远程登录和管理服务器。下面是TeraTerm使用方法: 1. 首先,打开TeraTerm软件。在软件的界面上方有一个菜单栏,包括“文件”、“设置”、“传输”、“窗口”和“帮助”等选项。 2. 在“文件”菜单,可以选择打开一个新的连接,也可以打开之前保存的会话。选择“新建连接”,出现一个对话框,在对话框输入连接的主机名和端口号,然后点击“确定”。 3. 在“设置”菜单,可以对连接进行各种设置。比如设置字符编码、字体、颜色、终端类型、回滚缓冲大小等。可以根据自己的需要进行相应的设置。 4. 在建立连接后,在窗口就可以看到远程终端的输出。可以在窗口输入命令,并接收远程服务器的输出。可以执行各种命令操作,如查看目录、创建文件、编辑文件等。 5. TeraTerm还支持文件传输功能。在“传输”菜单,可以选择上传或下载文件。可以将本地文件上传到远程服务器,也可以将远程服务器上的文件下载到本地。 6. 当需要结束会话时,可以选择“关闭连接”或者直接关闭窗口。 总之,TeraTerm是一款功能丰富、易于使用的终端模拟器软件。通过它,可以轻松地进行远程服务器的管理和操作,并且还提供了文件传输功能,大大提高了工作效率。无论是初学者还是专业人士,都可以通过TeraTerm来满足他们的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值