ikSelect是一个简单、快速、响应迅速、可访问的自定义选择下拉jQuery插件,可以使用自己的CSS进行完全样式化。
1.在jQuery之后下载并加载ikSelect插件的脚本。
- <script src="/path/to/cdn/jquery.min.js"></script>
- <script src="/path/to/src/jquery.ikSelect.js"></script>
2.将插件附加到现有的选择
要素
- <select>
- <optgroup label="Seven Wonders of the Ancient World">
- <option>Great Pyramid of Giza</option>
- <option>Hanging Gardens of Babylon</option>
- <option>Statue of Zeus at Olympia</option>
- <option>Temple of Artemis at Ephesus</option>
- <option>Mausoleum at Halicarnassus</option>
- <option>Colossus of Rhodes</option>
- <option>Lighthouse of Alexandria</option>
- </optgroup>
- <optgroup label="Seven Natural Wonders of the World">
- <option>Grand Canyon</option>
- <option>Great Barrier Reef</option>
- <option>Harbor of Rio de Janeiro</option>
- <option>Mount Everest</option>
- <option>Aurora</option>
- <option>ParÃcutin volcano</option>
- <option>Victoria Falls</option>
- </optgroup>
- </select>
- $(function () {
- $('select').ikSelect();
- });
3.将您自己的样式应用于自定义选择下拉列表。
- .ik_select {
- /*
- Your Styles Here
- */
- }
- .ik_select_link {
- /*
- Your Styles Here
- */
- }
- .ik_select_link_focus {
- /*
- Your Styles Here
- */
- }
- .ik_select_link_disabled {
- /*
- Your Styles Here
- */
- }
- .ik_select_link_text {
- /*
- Your Styles Here
- */
- }
- .ik_select_dropdown {
- /*
- Your Styles Here
- */
- }
- .ik_select_list {
- /*
- Your Styles Here
- */
- }
- .ik_select_optgroup {
- /*
- Your Styles Here
- */
- }
- .ik_select_optgroup_label {
- /*
- Your Styles Here
- */
- }
- .ik_select_option {
- /*
- Your Styles Here
- */
- }
- .ik_select_option_label {
- /*
- Your Styles Here
- */
- }
- .ik_select_hover {
- /*
- Your Styles Here
- */
- }
- .ik_select_active {
- /*
- Your Styles Here
- */
- }
- .ik_select_filter_wrap {
- /*
- Your Styles Here
- */
- }
- .ik_select_filter {
- /*
- Your Styles Here
- */
- }
- .ik_nothing_found {
- /*
- Your Styles Here
- */
- }
4.自定义选择下拉菜单。
- $('select').ikSelect({
- // custom template
- syntax: '<div class="ik_select_link"><div class="ik_select_link_text"></div></div><div class="ik_select_dropdown"><div class="ik_select_list"></div></div>',
- // auto set the width of the select according to the longest option
- autoWidth: true,
- // auto set the width of the dropdown according to the longest option
- ddFullWidth: true,
- // include scrollbar width or not
- equalWidths: true,
- // change the width of the select according to it's content
- dynamicWidth: false,
- // move the select t the body when it is clicked along with the dropdown
- extractLink: false,
- // additional CSS classes
- customClass: '',
- // additional CSS classes for links
- linkCustomClass: '',
- // additional CSS classes for the dropdown
- ddCustomClass: '',
- // max height of the dropdown
- ddMaxHeight: 200,
- // extra width
- extraWidth: 0,
- // enable live search
- filter: false,
- nothingFoundText: 'Nothing found',
- // is disabled or not
- isDisabled: false,
- });
5.您也可以通过HTML数据-*属性传递选项:
- <select data-autowidth="true" data-customclass="someclass">
- ...
- </select>
6.API方法。
- // override defaults
- $.ikSelect.extendDefaults(settings);
- // reset
- $(selector).ikSelect('reset');
- // re-redner
- $(selector).ikSelect('redraw');
- // add options
- $(selector).ikSelect('addOptions', optionObject[, optionIndex, optgroupIndex]);
- // or
- $(selector).ikSelect('addOptions', optionObjectsArray[, optionIndex, optgroupIndex]);
- // add option groups
- $(selector).ikSelect('addOptgroups', optgroupObject[, optgroupIndex]);
- // or
- $(selector).ikSelect('addOptgroups', optgroupObjectsArray[, optgroupIndex]);
- // remove options
- $(selector).ikSelect('removeOptions', optionIndex[, optgroupIndex]);
- $(selector).ikSelect('removeOptions', optionIndexesArray[, optgroupIndex]);
- // remove option groups
- $(selector).ikSelect('removeOptgroups', optgroupIndex);
- // or
- $(selector).ikSelect('removeOptgroups', optgroupIndexesArray);
- // select an option
- $(selector).ikSelect('select', optionValue[, isIndex]);
- // show the dropdown
- $(selector).ikSelect('showDropdown');
- // hide the dropdown
- $(selector).ikSelect('hideDropdown');
- // disable the select
- $(selector).ikSelect('disable');
- // enable the select
- $(selector).ikSelect('enable');
- // toggle the select
- $(selector).ikSelect('toggle'[, enableOrDisable]);
- // disable options
- $(selector).ikSelect('disableOptions', optionIndexOrValue[, isIndex]);
- // or
- $(selector).ikSelect('disableOptions', optionIndexesOrValuesArray[, isIndex]);
- // enable options
- $(selector).ikSelect('enableOptions', optionIndexOrValue[, isIndex]);
- // or
- $(selector).ikSelect('enableOptions', optionIndexesOrValuesArray[, isIndex]);
- // toggle options
- $(selector).ikSelect('toggleOptions', optionIndexOrValue[, isIndex, enableOrDisable]);
- $(selector).ikSelect('toggleOptions', optionIndexesOrValuesArray[, isIndex, enableOrDisable]);
- // disable option groups
- $(selector).ikSelect('disableOptgroups', optgroupIndex);
- // or
- $(selector).ikSelect('disableOptgroups', optgroupIndexesArray);
- // enable option groups
- $(selector).ikSelect('enableOptgroups', optgroupIndex);
- // or
- $(selector).ikSelect('enableOptgroups', optgroupIndexesArray);
- // toggle option groups
- $(selector).ikSelect('toggleOptgroups', optgroupIndex[, enableOrDisable]);
- // or
- $(selector).ikSelect('toggleOptgroups', optgroupIndexesArray[, enableOrDisable]);
- // destroy
- $(selector).ikSelect('detach');
7.回调函数。
- $('select').ikSelect({
- onInit: function() {},
- onShow: function () {},
- onHide: function () {},
- onKeyUp: function () {},
- onKeyDown: function () {},
- onHoverMove: function () {}
- });