Multi-Column-Select是一款多列网格样式下拉列表框美化jQuery插件。通过该插件可以将下拉列表转换为多列的网格选项布局。它支持下拉列表的单选和多选,在鼠标滑过列表选项时还带有一些有趣的动画特效。
使用方法
HTML结构
该多列下拉列表的基本HTML结构如下:
<form action="test.php" method="GET"> <div id="selectcontrol"> <select name="car"> <option value="Audi">Audi</option> <option value="Bugatti">Bugatti</option> <option value="Chrysler">Chrysler</option> <option value="Daihatsu">Daihatsu</option> <option value="Ford">Ford</option> <option value="GM">General Motors</option> <option value="Honda">Honda</option> <option value="Infiniti">Infiniti</option> <option value="Jeep">Jeep</option> <option value="Kia">Kia</option> </select> </div> <input type="submit" value="Submit" /> </form>
CSS样式
下面的HTML标签是插件生成的,class和ID可以通过配置参数来更改。
<div class="mcs-container"> <a id="mcs-1" data="Audi" class="mcs-item active">Audi</a> <a id="mcs-2" data="Bugatti" class="mcs-item">Bugatti</a> <a id="mcs-3" data="Chrysler" class="mcs-item active">Chrysler</a> <a id="mcs-4" data="Daihatsu" class="mcs-item">Daihatsu</a> <a id="mcs-5" data="Ford" class="mcs-item">Ford</a> <a id="mcs-6" data="GM" class="mcs-item active">General Motors</a> <a id="mcs-7" data="Honda" class="mcs-item">Honda</a> <a id="mcs-8" data="Infiniti" class="mcs-item">Infiniti</a> </div>
需要关注的CSS样式有下面这些:
//toggle open /close button .mcs-open { } //container wrap for menu .mcs-container { overflow:hidden; display:none; } //menu items / option replacements .mcs-item { }
调用插件
$("#selectcontrol").MultiColumnSelect({ multiple: false, // Single or Multiple Select- Default Single useOptionText : true, // Use text from option. Use false if you plan to use images hideselect : true, // Hide Original Select Control openmenuClass : 'mcs-open', // Toggle Open Button Class openmenuText : 'Choose An Option', // Text for button openclass : 'open', // Class added to Toggle button on open containerClass : 'mcs-container', // Class of parent container itemClass : 'mcs-item', // Class of menu items idprefix : null, // Assign as ID to items eg 'item-' = #item-1, #item-2, #item-3... duration : 200, //Toggle Height duration onOpen : function(){}, onClose : function(){}, onItemSelect : function(){} }); //Add item to selectbox $('#selectcontrol').MultiColumnSelectAddItem(OptionID,OptionValue,IDPrefix); //Destroy plugin $("#selectcontrol").MultiColumnSelectDestroy();
配置参数
multiple
:单选还是多选,默认值false
(单选)。useOptionText
:在列表项中使用文本。如果要使用图片可设置为false
。openmenuClass
:默认值:'mcs-open'
。切换打开按钮的class。openmenuText
:默认值:'Choose An Option'
。按钮上的文版。openclass
:默认值:'open'
在切换按钮打开时添加到按钮上的class。containerClass
:默认值:'mcs-container'
。父容器的class。itemClass
:默认值:'mcs-item'
。列表项的class。idprefix
:默认值:null
。为列表项分配ID。例如:'item-' = #item-1, #item-2, #item-3...duration
:切换高度的持续时间。