Bootstrap++:bootstrap-select 使用

效果图:

HTML:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>下拉框多选</title>

    <!-- 最新版本的 Bootstrap 核心 CSS 文件 -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" >

    <script type='text/javascript' th:src='@{/ecej/core/jquery-3.2.0.min.js}'></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js" ></script>

    <link rel='stylesheet' type="text/css" th:href='@{/core/bootstrap-select-1.13.14/bootstrap-select.min.css}'/>
    <script type='text/javascript' th:src='@{/core/bootstrap-select-1.13.14/bootstrap-select.js}'></script>

    <script type='text/javascript' th:src='@{/multipleSelect.js}'></script>

</head>
<body>

<fieldset>
    <legend>bootstrap</legend>
    <div class="form-controls" style="width: 300px;">
        <select class="selectpicker show-tick form-control" multiple="multiple" title="请选择工厂" data-size="10"
                data-selected-text-format="count > 15"
                data-live-search="true" data-live-search-placeholder="搜索"
                data-actions-box="true" data-select-all-text="全选" data-deselect-all-text="重置"
                id="xinghao_id" name="xinghao_id" value="{$info.xinghao_id}">
        </select>
    </div>
</fieldset>
<hr/>
<button id="btn">获取</button>
</body>
</html>

自定义 JS:

$(function () {

    // 获取
    $("#btn").click(function () {
        var _vals = $("#xinghao_id").val();
        console.log(_vals)
    });

    var _option = "";
    for (var i = 0; i < 100; i++) {
        _option += '<option value="' + i + '">' + '测试' + i + '</option>';
    }
    $("#xinghao_id").append(_option);

    // 动态追加元素需要 重新刷新渲染
    $('.selectpicker').selectpicker('refresh');

});

需把对应bootstrap-select 相关文件URL引入替换;可直接使用

常用属性介绍:

1、class="selectpicker" 普通的下拉框功能

2、title="请选择城市名称" title的作用与palcehoder一样。

3、select class="selectpicker" multiple selectpicker和multiple属性的搭配使用可实现多选

4、data-live-search="true" 这个属性的默认值是false,作用是打开模糊筛查搜索框。

5、data-max-options 这个属性表示最多可选几个,搭配multiple使用,用法:data-max-options=“2”,表示最多选两个。

6、data-selected-text-forma缩略模式, 用法:data-selected-text-format="count > 3",当选中值大于3个的时候只显示选中项的个数,注意只对多选生效。

7、data-style 表示默认选中样式,用法:data-style="btn-primary",属性值就是bootstrap的按钮样式。

8、data-size data-size="6",表示下拉框显示的下拉列表数量 超出条数后出现滚动条。

9、data-dropup-auto="false", 表示下拉框默认向下展开;"true",表示下拉框默认向下展开;"auto",(默认值)表示下拉框根据页面尺寸自动向下或向上展开。

10、$('.selectpicker').selectpicker('selectAll'); 全选

       $('.selectpicker').selectpicker('deselectAll'); 反选:

       $('.selectpicker').selectpicker('mobile'); 适应手机模式:

11、给下拉框赋初始值   .selectpicker:eq(0)表示该页面或者该表单的第几个使用了第几个selectpicker属性的input标签。

        $('.selectpicker:eq(0)').selectpicker('val',valArea);

        $('.selectpicker:eq(1)').selectpicker('val',valPost);

        $('.selectpicker:eq(2)').selectpicker('val',valBank);

        $('.selectpicker').selectpicker('refresh');

        $('.selectpicker').selectpicker('render');

12、与angular或者knockout合用问题:

  即下拉框无法显示出选项,但实际上,按下F12去查看时,又明显的有这些选项值,只是页面无法展示。

  a. 添加Js:(只有在编译之后第一次进入页面的时候生效,一旦刷新之后就失效(因为angular异步加载)
  $(function () {

    $('.selectpicker').selectpicker('refresh');
    $('.selectpicker').selectpicker('render');
  })

更多资料:

1):核心选择:可以通过数据属性或JavaScript传递选项。对于数据属性,附加选项名称  data-,如  data-style="" 或  data-selected-text-format="count"

2):大事记变迁:Bootstrap-select公开了一些事件以供选择功能使用。

hide.bs.select,hidden.bs.select,show.bs.select和showd.bs.select都具有一个  relatedTarget 属性,其值是切换锚元素。

$('#mySelect').on('hidden.bs.select', function (e) {
  // do something...
});

 

传送门官网地址:https://developer.snapappointments.com/bootstrap-select/examples/

 

posted @ 2020-07-28 15:56  coding++  阅读(1014)  评论(0编辑  收藏  举报