下面给大家介绍一款集下拉搜索多选框,下拉单选框与一体的bootstrap组件Bootstrap-select,bootstrap-select.js是一款Bootstrap下拉框功能增强插件。它为bootstrap下拉框增加了分组功能,多选功能,搜索功能,自定义内容和图标等多种功能,非常强大。实现效果如下。

一、使用方法

在页面中引入jquery和bootstrap相关文件,以及bootstrap-select.js和bootstrap-select.css文件。

<link rel="stylesheet" type="text/css" href="dist/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="dist/css/bootstrap-select.css">
<link href="css/jquery.min.css" rel="stylesheet">
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/bootstrap-select.css" rel="stylesheet">

二、具体用法

带分组的下拉选择框(Select boxes with optgroups)

< select class = "selectpicker" >

< optgroup label = "Picnic" >

< option >Mustard</ option >

< option >Ketchup</ option >

< option >Relish</ option >

</ optgroup >

< optgroup label = "Camping" >

< option >Tent</ option >

< option >Flashlight</ option >

< option >Toilet Paper</ option >

</ optgroup >

</ select >

多选下拉框(Multiple select boxes)

< select class = "selectpicker" multiple>

< option >Mustard</ option >

< option >Ketchup</ option >

< option >Relish</ option >

</ select >

带搜索功能的下拉框(Live search)

< select class = "selectpicker" multiple>

< option >Mustard</ option >

< option >Ketchup</ option >

< option >Relish</ option >

</ select >

关键词(Key words)

< select class = "selectpicker" data-live-search = "true" >

< option data-tokens = "ketchup mustard" >Hot Dog, Fries and a Soda</ option >

< option data-tokens = "mustard" >Burger, Shake and a Smile</ option >

< option data-tokens = "frosting" >Sugar, Spice and all things nice</ option >

</ select >

限制选择的数量(Limit the number of selections)

< select class = "selectpicker" multiple data-max-options = "2" >

< option >Mustard</ option >

< option >Ketchup</ option >

< option >Relish</ option >

</ select >

< select class = "selectpicker" multiple>

< optgroup label = "Condiments" data-max-options = "2" >

< option >Mustard</ option >

< option >Ketchup</ option >

< option >Relish</ option >

</ optgroup >

< optgroup label = "Breads" data-max-options = "2" >

< option >Plain</ option >

< option >Steamed</ option >

< option >Toasted</ option >

</ optgroup >

</ select >

自定义占位文本(Placeholder)

< select class = "selectpicker" multiple title = "请选择内容。。" >

< option >Mustard</ option >

< option >Ketchup</ option >

< option >Relish</ option >

</ select >

替换文本(Selected text)

< select class = "selectpicker" >

< option title = "Combo 1" >Hot Dog, Fries and a Soda</ option >

< option title = "Combo 2" >Burger, Shake and a Smile</ option >

< option title = "Combo 3" >Sugar, Spice and all things nice</ option >

</ select >

多选下拉框的显示格式(Selected text format)

通过 data-selected-text-format 属性,可以指定在多选下拉框选择选项后的显示格式。支持的属性有:

values :用逗号分隔选择项。(默认) count :当选项等于一个时,显示选择选项的数量。 count > x :当选项大于某个数值时,从显示逗号分隔的多个值改为显示选择的数量。 static :总是显示选择的替换文本。

< select class = "selectpicker" multiple data-selected-text-format = "count" >

< option >Mustard</ option >

< option >Ketchup</ option >

< option >Relish</ option >

</ select >

< select class = "selectpicker" multiple data-selected-text-format="count > 3">

< option >Mustard</ option >

< option >Ketchup</ option >

< option >Relish</ option >

< option >Onions</ option >

</ select >

按钮样式(Button classes)

通过 data-style 属性来为下拉框设置情景样式。

< select class = "selectpicker" data-style = "btn-primary" >

...

</ select >

< select class = "selectpicker" data-style = "btn-info" >

...

</ select >

< select class = "selectpicker" data-style = "btn-success" >

...

</ select >

< select class = "selectpicker" data-style = "btn-warning" >

...

</ select >

< select class = "selectpicker" data-style = "btn-danger" >

...

</ select >

勾选图标(Checkmark on selected option)

在已经选择的选项上添加勾选图标。

< select class = "selectpicker show-tick" >

< option >Mustard</ option >

< option >Ketchup</ option >

< option >Relish</ option >

</ select >

下拉框箭头(Menu arrow)

为下拉框添加一个箭头。

< select class = "selectpicker show-menu-arrow" >

< option >Mustard</ option >

< option >Ketchup</ option >

< option >Relish</ option >

</ select >

自定义分割线样式(Style individual options)

可以自定义分割线样式。

.special {

font-weight: bold !important;

color: #fff !important;

background: #bc0000 !important;

text-transform: uppercase;

}

< select class = "selectpicker" >

< option >Mustard</ option >

< option class = "special" >Ketchup</ option >

< option style = "background: #5cb85c; color: #fff;" >Relish</ option >

</ select >

下拉框宽度(Width)

可以自定义下拉框的宽度。

< div class = "row" >

< div class = "col-xs-3" >

< div class = "form-group" >

< select class = "selectpicker form-control" >

< option >Mustard</ option >

< option >Ketchup</ option >

< option >Relish</ option >

</ select >

</ div >

</ div >

</ div >

还可以通过 data-width 属性来设置下拉框的宽度。

< select class = "selectpicker" data-width = "auto" >

...

</ select >

< select class = "selectpicker" data-width = "fit" >

...

</ select >

< select class = "selectpicker" data-width = "100px" >

...

</ select >

< select class = "selectpicker" data-width = "75%" >

...

</ select >

图标(Icons)

可以通过 data-icon 属性来为选项设置一个图标。

< select class = "selectpicker" >

< option data-icon = "glyphicon-heart" >Mustard</ option >

< option data-icon = "glyphicon-star" >Ketchup</ option >

< option data-icon = "glyphicon-paperclip" >Relish</ option >

</ select >

自定义内容(Custom content)

可以通过 data-content 属性来为选项插入HTML内容。

< select class = "selectpicker" >

< option data-content="<span class = 'label label-success' >Mustard</ span >">Mustard</ option >

< option data-content="<span class = 'label label-info' >Ketchup</ span >">Ketchup</ option >

< option data-content="<span class = 'label label-primary' >Relish</ span >">Relish</ option >

</ select >

子文本(Subtext)

可以通过 data-size 属性来为选项添加一个子描述文本。

< select class = "selectpicker" data-size = "5" >

< option data-subtext = "Heinz" >Mustard</ option >

< option data-subtext = "ok" >Ketchup</ option >

< option data-subtext = "hello" >Relish</ option >

</ select >

菜单显示多少项(Menu size)

菜单的尺寸默认为 auto 。如果设置菜单尺寸为 false 或0,则显示所有的菜单项。你可以通过 data-size 属性来设置指定的菜单尺寸。下面的菜单只显示2项。

< select class = "selectpicker" data-size = "2" >

< option data-subtext = "Heinz" >Mustard</ option >

< option data-subtext = "ok" >Ketchup</ option >

< option data-subtext = "hello" >Relish</ option >

</ select >

全选或全不选(Select/deselect all options)

通过 data-actions-box="true" 来对下拉框进行全选或全不选。

< select class = "selectpicker" multiple data-actions-box = "true" >

< option data-subtext = "Heinz" >Mustard</ option >

< option data-subtext = "ok" >Ketchup</ option >

< option data-subtext = "hello" >Relish</ option >

</ select >

分隔线(Divider)

通过 data-divider="true" 来设置下拉框的分隔线。

< select class = "selectpicker" >

< option >Mustard</ option >

< option data-divider = "true" ></ option >

< option >Ketchup</ option >

< option >Relish</ option >

</ select >

菜单头部(Menu header)

通过 data-header 来设置下拉框设置一个菜单头选项。

< select class = "selectpicker" data-header = "Select a condiment" >

< option >Mustard</ option >

< option >Ketchup</ option >

< option >Relish</ option >

</ select >

箭头方向(Dropup menu)

通过 .dropup class来手动设置小箭头的方向为向上方向。

< select class = "selectpicker dropup" >

< option >Mustard</ option >

< option >Ketchup</ option >

< option >Relish</ option >

</ select >

禁用下拉框(Disabled select box)

通过 disabled 属性来禁用下拉框。

< select class = "selectpicker" disabled>

< option >Mustard</ option >

< option >Ketchup</ option >

< option >Relish</ option >

</ select >

禁用菜单项(Disabled options)

通过为菜单项添加 .disabled 属性来禁用它。

< select class = "selectpicker disabled" >

< option >Mustard</ option >

< option disabled>Ketchup</ option >

< option >Relish</ option >

</ select >

禁用下拉框分组(Disabled option groups)

通过为分组添加 .disabled 属性来禁用它。

< select class = "selectpicker test" >

< optgroup label = "Picnic" disabled>

< option >Mustard</ option >

< option >Ketchup</ option >

< option >Relish</ option >

</ optgroup >

< optgroup label = "Camping" >

< option >Tent</ option >

< option >Flashlight</ option >

< option >Toilet Paper</ option >

</ optgroup >

</ select >

参考文档:

http://www.htmleaf.com/jQuery/Form/201802134981.html

http://www.htmleaf.com/Demo/201802134982.html

https://github.com/snapappointments/bootstrap-select