jQuery使用Selectator插件实现多选下拉列表过滤框(附源码下载)
作者:bea
Selectator是一款实现多选和搜索过滤功能的jQuery下拉列表框插件。它支持搜索,并且能直接影响原始的选择框,而原始的选择框是用作数据容器。通过该下拉列表框插件可以多选项进行分组,设置选项的图标,对选项进行搜索过滤,以及进行多选选择。 效果展示 源码下载 使用方法 使用该下拉类别框插件需要在页面中引入fm.selectator.jquery.css、jQuery和fm.selectator.jquery.js文件。 <link rel="styleshee
Selectator是一款实现多选和搜索过滤功能的jQuery下拉列表框插件。它支持搜索,并且能直接影响原始的选择框,而原始的选择框是用作数据容器。通过该下拉列表框插件可以多选项进行分组,设置选项的图标,对选项进行搜索过滤,以及进行多选选择。
效果展示 源码下载
使用方法
使用该下拉类别框插件需要在页面中引入fm.selectator.jquery.css、jQuery和fm.selectator.jquery.js文件。
<link rel="stylesheet" href="fm.selectator.jquery.css"/>
<script src="jquery-1.11.0.min.js"></script>
<script src="fm.selectator.jquery.js"></script>
HTML结构
一个选项带图标级带分组选项的下拉列表的HTML结构如下:
<label for="select">
Multi select with custom content:
</label>
<select id="select" name="select" multiple>
<optgroup label="Group one" class="group_one">
<option value="1" class="option_one" data-subtitle="Et" data-left="<img src='images/ingi.png'>" data-right="1">One</option>
<option value="2" class="option_two" data-subtitle="To" data-left="<img src='images/runa.png'>" data-right="2">Two</option>
</optgroup>
<optgroup label="Group two" class="group_two">
<option value="3" class="option_three" data-subtitle="Tre" data-left="<img src='images/jogvan.png'>" data-right="3">Three</option>
<option value="4" class="option_four" selected data-left="<img src='images/noimage.png'>" data-right="4">Four</option>
<option value="5" class="option_five" selected data-left="<img src='images/noimage.png'>" data-right="5">Five</option>
<option value="6" class="option_six">Six</option>
</optgroup>
<optgroup label="Group three" class="group_three">
<option value="7" class="option_seven">Seven</option>
</optgroup>
<option value="8" class="option_eight" data-subtitle="Otte">Eight</option>
<option value="9" class="option_nine">Nine</option>
<option value="10" class="option_ten" selected>Ten</option>
<option value="11" class="option_eleven" selected>Eleven</option>
<option value="12" class="option_twelve">Twelve</option>
<option value="13" class="option_thirteen">Thirteen</option>
<option value="14" class="option_fourteen">Fourteen</option>
</select>
<input value="activate selectator" id="activate_selectator4" type="button">
初始化插件
在页面DOM元素加载完毕之后,可以通过selectator()方法来初始化该下拉列表插件。
$('#selectBox').selectator();
你也可以直接使用标签来初始化它:
<select multiple class="selectator" data-selectator-keep-open="true">
配置参数
$('#selectBox').selectator({
prefix: 'selectator_', // CSS class prefix
height: 'auto', // auto or element
useDimmer: false, // dims the screen when option list is visible
u**arch: true, // if false, the search boxes are removed and
// `showAllOptionsOnFocus` is forced to true
keepOpen: false, // if true, then the dropdown will not close when
// selecting options, but stay open until losing focus
showAllOptionsOnFocus: false, // shows all options if input box is empty
selectFirstOptionOnSearch: true, // selects the topmost option on every search
searchCallback: function(value){}, // Callback function when enter is pressed and
// no option is active in multi select box
labels: {
search: 'Search...' // Placeholder text in search box in single select box
}
});
其它可用的属性标签
通过使用data-left、data-right和data-subtitle标签你可以扩展下拉列表的显示信息。它们可以通过CSS来设置样式,CSS的前缀为:prefix_title、prefix_left、prefix_right和prefix_subtitle。这些数据都是纯HTML代码,所以你也可以使用图片代码。
<select id="selectBox">
<!-- Normal option tag -->
<option value="1">This is the title</option>
<!-- Extended option tag -->
<option value="2" data-left="This is the left section"
data-right="This is the right section"
data-subtitle="This is the section under the title">This is the title</option>
</select>
上的代码会显示为类似下面的结构:
CSS类
class
描述
prefix_element
这是一个新的下拉列表框。它带有相同的额外class类:single 和 multiple ,它们用于设置是单选还是多选。另外 options-visible 和 options-hidden 用于设置选项是否可见
prefix_chosen_items
被选择的选项的容器
prefix_chosen_item
当前被选择的选项的容器
prefix_chosen_item_title
当前被选择的选项的标题
prefix_chosen_item_left
当前被选择的选项的左侧的内容
prefix_chosen_item_right
当前被选择的选项的右侧的内容
prefix_chosen_item_subtitle
当前被选择的选项的子标题
prefix_chosen_item_remove
当前被选择的选项的移除按钮
prefix_input
This is the input box for the selectator. This is used together with options-visible or options-hidden to show and style it differently if it is a multiple selection box or a single selection box.
prefix_textlength
用于计算多项选择框中input的尺寸
prefix_options
选项列表容器
prefix_group_header
分组标题
prefix_group
分组容器
prefix_option
结果选项。它使用class active 来表明当前激活的选项
prefix_option_title
结果选项的标题
prefix_option_left
结果选项左侧的内容
prefix_option_right
结果选项右侧的内容
prefix_option_subtitle
结果选项右侧的子标题
prefix_dimmer
dimmer
方法
方法
描述
refresh
该方法用于刷新插件
destroy
该方法用于销毁插件
jquery.selectator-custom下拉列表插件的github地址为:
https://github.com/Lepshey/jquery.selectator-custom
有用 | 无用
效果展示 源码下载
使用方法
使用该下拉类别框插件需要在页面中引入fm.selectator.jquery.css、jQuery和fm.selectator.jquery.js文件。
<link rel="stylesheet" href="fm.selectator.jquery.css"/>
<script src="jquery-1.11.0.min.js"></script>
<script src="fm.selectator.jquery.js"></script>
HTML结构
一个选项带图标级带分组选项的下拉列表的HTML结构如下:
<label for="select">
Multi select with custom content:
</label>
<select id="select" name="select" multiple>
<optgroup label="Group one" class="group_one">
<option value="1" class="option_one" data-subtitle="Et" data-left="<img src='images/ingi.png'>" data-right="1">One</option>
<option value="2" class="option_two" data-subtitle="To" data-left="<img src='images/runa.png'>" data-right="2">Two</option>
</optgroup>
<optgroup label="Group two" class="group_two">
<option value="3" class="option_three" data-subtitle="Tre" data-left="<img src='images/jogvan.png'>" data-right="3">Three</option>
<option value="4" class="option_four" selected data-left="<img src='images/noimage.png'>" data-right="4">Four</option>
<option value="5" class="option_five" selected data-left="<img src='images/noimage.png'>" data-right="5">Five</option>
<option value="6" class="option_six">Six</option>
</optgroup>
<optgroup label="Group three" class="group_three">
<option value="7" class="option_seven">Seven</option>
</optgroup>
<option value="8" class="option_eight" data-subtitle="Otte">Eight</option>
<option value="9" class="option_nine">Nine</option>
<option value="10" class="option_ten" selected>Ten</option>
<option value="11" class="option_eleven" selected>Eleven</option>
<option value="12" class="option_twelve">Twelve</option>
<option value="13" class="option_thirteen">Thirteen</option>
<option value="14" class="option_fourteen">Fourteen</option>
</select>
<input value="activate selectator" id="activate_selectator4" type="button">
初始化插件
在页面DOM元素加载完毕之后,可以通过selectator()方法来初始化该下拉列表插件。
$('#selectBox').selectator();
你也可以直接使用标签来初始化它:
<select multiple class="selectator" data-selectator-keep-open="true">
配置参数
$('#selectBox').selectator({
prefix: 'selectator_', // CSS class prefix
height: 'auto', // auto or element
useDimmer: false, // dims the screen when option list is visible
u**arch: true, // if false, the search boxes are removed and
// `showAllOptionsOnFocus` is forced to true
keepOpen: false, // if true, then the dropdown will not close when
// selecting options, but stay open until losing focus
showAllOptionsOnFocus: false, // shows all options if input box is empty
selectFirstOptionOnSearch: true, // selects the topmost option on every search
searchCallback: function(value){}, // Callback function when enter is pressed and
// no option is active in multi select box
labels: {
search: 'Search...' // Placeholder text in search box in single select box
}
});
其它可用的属性标签
通过使用data-left、data-right和data-subtitle标签你可以扩展下拉列表的显示信息。它们可以通过CSS来设置样式,CSS的前缀为:prefix_title、prefix_left、prefix_right和prefix_subtitle。这些数据都是纯HTML代码,所以你也可以使用图片代码。
<select id="selectBox">
<!-- Normal option tag -->
<option value="1">This is the title</option>
<!-- Extended option tag -->
<option value="2" data-left="This is the left section"
data-right="This is the right section"
data-subtitle="This is the section under the title">This is the title</option>
</select>
上的代码会显示为类似下面的结构:
CSS类
class
描述
prefix_element
这是一个新的下拉列表框。它带有相同的额外class类:single 和 multiple ,它们用于设置是单选还是多选。另外 options-visible 和 options-hidden 用于设置选项是否可见
prefix_chosen_items
被选择的选项的容器
prefix_chosen_item
当前被选择的选项的容器
prefix_chosen_item_title
当前被选择的选项的标题
prefix_chosen_item_left
当前被选择的选项的左侧的内容
prefix_chosen_item_right
当前被选择的选项的右侧的内容
prefix_chosen_item_subtitle
当前被选择的选项的子标题
prefix_chosen_item_remove
当前被选择的选项的移除按钮
prefix_input
This is the input box for the selectator. This is used together with options-visible or options-hidden to show and style it differently if it is a multiple selection box or a single selection box.
prefix_textlength
用于计算多项选择框中input的尺寸
prefix_options
选项列表容器
prefix_group_header
分组标题
prefix_group
分组容器
prefix_option
结果选项。它使用class active 来表明当前激活的选项
prefix_option_title
结果选项的标题
prefix_option_left
结果选项左侧的内容
prefix_option_right
结果选项右侧的内容
prefix_option_subtitle
结果选项右侧的子标题
prefix_dimmer
dimmer
方法
方法
描述
refresh
该方法用于刷新插件
destroy
该方法用于销毁插件
jquery.selectator-custom下拉列表插件的github地址为:
https://github.com/Lepshey/jquery.selectator-custom
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- DIV随滚动条滚动而滚动的实现代码【推荐】
- 原生js实现百叶窗效果及原理介绍
- CascadeView级联组件实现思路详解(分离思想和单链表)
- jquery中实现时间戳与日期相互转换
- Angular.js与Bootstrap相结合实现表格分页代码
- JS代码防止SQL注入的方法(超简单)
- zTree插件下拉树使用入门教程
- 对jquery的ajax进行二次封装以及ajax缓存代理组件:AjaxCache详解
- js创建jsonArray传输至后台及后台全面解析
- javascript HTML5 Canvas实现圆盘抽奖功能
- 详解JavaScript的另类写法
- 详解jQuery中的empty、remove和detach
- JQuery导航菜单选择特效
- JavaScript实现图片自动加载的瀑布流效果
- javascript冒泡排序小结
- javascript原生ajax写法分享
- Javascript实现苹果悬浮虚拟按钮
- jQuery实现点击水纹波动动画
- JavaScript数据绑定实现一个简单的 MVVM 库