Mighty Form Styler for jQuery

Mighty Form Styler for jQuery replaces your form select element with a html ul list so you can easily and completely style it with css. With some little magic it behaves just like a regular select element.

Version 1.1.0

For changelog see: https://github.com/MightyMedia/Mighty-Form-Styler/blob/master/CHANGELOG.md

Requires jQuery 1.7 or newer.

Licensed under: MIT License - https://github.com/MightyMedia/Mighty-Form-Styler/blob/master/LICENSE

Requirements

Installation

To use Mighty Form Styler make sure you have jQuery 1.7 or newer. Next, include the files jquery.mfs.css and jquery.mfs.min.js in your webpage. The css file contains some default styling for the select element.

<link rel="stylesheet" href="jquery.mfs.css">
<script type="text/javascript" src="jquery.mfs.min.js"></script>

Basic usage

Initialize

$(document).ready(function(){
    $('form').mfs();
});

Refresh (e.g. when you updated the values via ajax)

$('form').mfs('refresh');

Remove

$('form').mfs('destroy');

Options

The following options are available.

dropdownHandle

Add text or HTML in the dropdown handle (the little arrow down). For example, when you want to use fontawesome icons in the handle.

$('form').mfs({
    'dropdownHandle': '<i class="icon-chevron-down"></i>'
});

enableScroll

Enable a scrollbar in the dropdown list, as default this is set to false.

$('form').mfs({
    'enableScroll' : true
});

maxHeight

Set the max height in pixels for the dropdown list, as default this is set to 200. The setting enableScroll needs to be set to true for this setting to have effect.

$('form').mfs({
    'enableScroll' : true,
    'maxHeight'    : 150
});

autoWidth

Make dropdown list width adjust to widest option.

$('form').mfs({
    'autoWidth' : true
});

disableTouch

Use native select dropdown on mobile and touch devices.

$('form').mfs({
    'disableTouch' : true
});

multipleTitle

Set the title used for the selected option ie 'x selected'. This setting only has effect on select elements with the multiple attribute set.

$('form').mfs({
    'multipleTitle' : 'selected'
});

multipleTitleNone

Set an alternative title used for the selected option when no options are selected. This setting only has effect on select elements with the multiple attribute set.

$('form').mfs({
    'multipleTitleNone' : 'Make a selection'
});

multipleAutoClose

Set to false to keep a multi select open when selecting options. This setting only has effect on select elements with the multiple attribute set.

$('form').mfs({
    'multipleAutoClose' : false
});

alternative title when selected value is an empty string

This can be useful when you don't use a label for you element but you want the first option to be something like 'Reset filter' and you don't want that value being displayed on de select field. See issue #18.

<select name="my-select" data-alt-title="Select option">
    <option value="">Reset filter</option>
    <option value="opt1">Option 1</option>
    <option value="opt2">Option 2</option>
</select>

Demo

You can preview a live demo at: http://www.binkje.nl/mfs/

Issues

If you have any ideas or bugs, please submit them to the GitHub issue tracker at https://github.com/MightyMedia/Mighty-Form-Styler/issues.