最近回学校忙着毕业的事情,好久没更新博客了,今天有个需求是需要实现单选框实现下拉多选的功能,刚开始接收到这个需求的时候,最开始想到的是自己写个css+js模拟实现的功能,但是发现应用到项目中效果不是很好,毕竟咱是搞java的,前端开发还是不要逞英雄了,所以决定上网查插件了。
找了一圈,就发现jquery multiselect符合要求,但是网上的教程,都讲的比较模糊,走了好多弯路,可能我是自己理解力差了点,搞了好久终于会用了(关键是依赖文件不能少)。
使用前,首先是插件需要依赖的js和css文件(这是必须的,不然会运行不正常)

这些依赖的文件都是jquery-ui的文件,少了images前端会报错,因为插件内部引用了images文件。
调用方法,使用起来就很简单了
<select class="selquery" id="chargeback_type">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<script type="text/javascript">
$("#chargeback_type").multiselect({
noneSelectedText: "==请选择==",
checkAllText: "全选",
uncheckAllText: '全不选',
selectedText:'当前有 #个被选中'
});
</script>
最关键还是取值问题,因为涉及到多选,网上的资料,都没涉及到取值问题,只好找官方文档了,文档里面有一个方法
var array_of_checked_values = $("select").multiselect("getChecked").map(function(){
return this.value;
}).get();
就是它了,通过这个方法,可以获取到,多选的值。
最后附上Jquery multiselect文档地址:http://www.erichynds.com/blog/jquery-ui-multiselect-widget
本文介绍如何使用jQuery Multiselect插件将单选框转换为具备全选、取消全选等功能的下拉多选框,并提供了一个具体的示例及获取多选值的方法。
141

被折叠的 条评论
为什么被折叠?



