jQuery多选插件
最近在做一个项目,其中需要用到一个组件,即能支持多选的select,几经在Baidu、Google中探寻,终于发现了一款中意的,无论是在UI上还是在扩展使用上都非常不错,现在把它贴出来与大家一起分享。
JQuery MultiSelect Plugin
- 当前版本: 0.6 (05/04/2010 – Changelog)
- demos
- Download source (12.5 kb) or minified (6.8 kb), and the CSS file.
- Follow this project on GitHub
特性
- 支持点击label实现checkbox组选择.
- 头部选项,如全选/ 取消全选 /关闭功能.
- 支持键盘选择.
- 支持5种不同的事件回调函数.
- 以列表方式显示选中项目,并且可以设置最大显示值.
- 方便改变位置,渐变速度,滚动容器的高度,链接文字,文本框默认内容等.
- 最小版只有 6.9kb.
兼容性
- Firefox 2 – 3.6
- IE 6 – 8
- Chrome Beta/4
- Safari 4
- Opera 10
用法
首先需要引入 jQuery 1.4、jQuery UI theme, 和 jquery.multiselect.css. 我们在这用的不是jQuery UI library本身,而是他的主题文件. 最简单的绑定select box方法:
$(document).ready(function(){
$(“#MySelectBox”).multiSelect();
});
回调函数
比如其中的 onOpen
回调函数, 如:
$(“#MySelectBox”).multiSelect({
onOpen: function(){
var $checkboxes = $(this).find(‘input’);
}
});
onClick
回调函数. Example:$(“#MySelectBox”).multiSelect({
onClick: function(){
if(this.checked){
alert(“I was just checked!”);
}
}
});
更多回调函数请看下面列表.
### 重载项
参数选项均在
$.fn.multiSelect.defaults中保存
, 你可以如下改变默认选项:// set the minWidth parameter for all instances to 500 pixels
$.fn.multiSelect.defaults.minWidth = 500;
Passing a function to the selectedText parameter
As of 0.5, the selectedText parameter can accept an anonymous function with three arguments: the number of checkboxes checked, the total number of checkboxes, and an array of the checked checkbox DOM elements. As you can see in the example, this gives you 100% control of the display:
$(“#MySelectBox”).multiSelect({
selectedText: function(numChecked, numTotal, checkedInputs){
// example: emulating the default behavior
return numChecked + “ checked”;
// example: emulating the selectedList option
return (numChecked < = 5)
? checkedInputs.map(function(element){ return element.title; }).join(‘, ‘)
: numChecked + “ checked”;
}
});
参数
Parameter | Description | Default |
---|---|---|
showHeader | A boolean value denoting whether or not to display the header containing the check all, uncheck all, and close links. | true |
maxHeight | The maximum height in pixels of the scrolling container that holds the checkboxes. | 175 |
minWidth | The minimum width in pixels of widget. Setting to auto (default) will inherit the width from the original select element. | 200 |
checkAllText | The default text of the “Check all” link. | Check all |
unCheckAllText | The default text of the “Uncheck all” link. | Uncheck all |
noneSelectedText | Renamed from noneSelected in 0.5!The default text the select box when no options have been selected. | Select options |
selectedList | A boolean/numeric value denoting whether or not to display the checked opens in a list, and how many. A number greater than 0 denotes the maximum number of list items to display before switching over to the selectedText parameter. A value of 0 or false is disabled. | false |
selectedText | The text to display in the select box when options are selected (if selectedList is false). The pound sign (#) is automatically replaced by the number of checkboxes selected. If two pound signs are present in this parameter, the second will be replaced by the total number of checkboxes available. Example: “# of # checked”. New in 0.5! As of 0.5, this parameter can also accept an anonymous function with three arguments: the number of checkboxes checked, the total number of checkboxes, and an array of the checked checkbox DOM elements. See the examples. | # selected |
position | The position of the options menu relative to the input control: top, middle, or bottom. | bottom |
shadow | A boolean value denoting whether to apply a CSS shadow (class ui-multiselect-shadow). | false |
fadeSpeed | How fast (in ms) to fade out the options menu on close. | 200 |
state | New in 0.5! The default state of the widget. Either open or closed. | closed |
disabled | New in 0.5! Whether or not to disabled the widget by default. Important: see the “Known Issues” section below for more documentation on this. | false |
onCheck | A callback to fire when a checkbox is checked. | Function |
onOpen | A callback to fire when the options menu is opened. | Function |
onCheckAll | A callback to fire when the “Check all” link is clicked. | Function |
onUncheckAll | A callback to fire when the “Uncheck all” link is clicked. | Function |
onOptgroupToggle | A callback to fire when the opgroup header is clicked. An array of checkboxes inside the optgroup is passed as an optional argument. | Function |
推荐阅读:jQuery3D全景展示插件