素材牛VIP会员

jQuery-select-mania自定义下拉框插件

 所属分类:网页特效-输入/选择框/联动

 浏览:1054次  评论:0次  更新时间:2018-11-21
牛币素材VIP可免积分下载
jQuery-select-mania自定义下拉框插件兼容IE9
积分说明:注册即送10牛币,每日签到可获得5牛币,成为VIP会员可永久免牛币下载!   充值积分   充值会员   更多说明»
项目地址(website):https://github.com/pitininja/select-mania
素材描述:select-mania是一款jQuery下拉选择框美化插件。该插件可以将普通的下拉选择框转换漂亮的下拉选择框,并且转换后的下拉选择框带搜索功能,可通过AJAX获取数据,带多种主题,还可以自定义主题等
 标签:select下拉框

详细介绍

使用方法

在页面中引入select-mania.css和select-mania.js文件。

<link rel="stylesheet" href="css/select-mania.css">
<script src="http://www.sucainiu.com/themes/cdn/jquery/jquery-1.10.2.js"></script> 
<script src="js/select-mania.js"></script>

该下拉选择框自带5种主题,使用是要引入相应的主题CSS文件。

<link href="src/themes/select-mania-theme-darkblue.css" rel="stylesheet">
<link href="src/themes/select-mania-theme-green.css" rel="stylesheet">
<link href="src/themes/select-mania-theme-orange.css" rel="stylesheet">
<link href="src/themes/select-mania-theme-red.css" rel="stylesheet">
<link href="src/themes/select-mania-theme-square.css" rel="stylesheet">

HTML结构

该插件可以将任意select选择框进行转换,你还可以为每个选项设置一个小图标。例如:

<optgroup data-icon="fa fa-share" label="Group">
 <option value="1" data-icon="fa fa-facebook">Facebook</option>
 <option value="1" data-icon="fa fa-Twitter">Twitter</option>
 <option value="1" data-icon="fa fa-google-plus">Google+</option>
 ...
</optgroup>

初始化插件

select-mania下拉选择框插件的使用非常简单,初始化方法如下:         

$('target-selector').selectMania();
//带配置参数
$('target-selector').selectMania({
   //配置参数
});

配置参数

select-mania下拉选择框插件的可用配置参数如下:

参数 默认值 描述
width '100%' 下拉选择框的宽度。必须是有效的CSS长度值。可以在select元素上通过data-width属性来使用。
size 'medium' 下拉选择框的尺寸。可选值有:'tiny', 'small', 'medium', 'large'。可以在select元素上通过data-size属性来使用。
themes [] 主题名称的数组。主题的名称可以在select-mania-theme-[主题名称].css找到。你也可以自己创建一个主题。
scrollContainer null select下拉框可滚动的容器的选择器或元素。
placeholder 'Select an item' 占位符文本。可以在select元素上通过data-placeholder属性来使用。
removable false 设置为true时可以删除已选择的选项。可以在select元素上通过data-removable属性来使用。
empty false

设置为true时将强制在初始化时情况选项。可以在select元素上通过data-empty属性来使用。

search false 设置为true时将显示搜索框,并允许进行选项搜索。可以在select元素上通过data-search属性来使用。
ajax false 插件可以在选项向下滚动时通过ajax来调用数据,并执行ajax查询。关于ajax参数,请看后面的详细解释。
data {} 该参数作为ajax的参数使用。

ajax参数:为了使用ajax参数,你必须向下面这样设置ajax参数:

function(search, page, data, callback) {
   //send back html options to select-mania
   callback(hmtlOptions);
}

这个函数有4个参数:

  • search:当前搜索框中的值。

  • page:请求的页码。

  • data:提供自定义数据。

  • callback:成功之后的回调函数。

执行成功之后的回调函数中的数据必须是一串HTML代码或jQuery / Dom元素。例如:

ajax: function(search, page, data, callback) {
   $.ajax({
       type: 'POST', 
       url: 'myAjaxScript.php', 
       data: {
           search: search, 
           page: page, 
           custom: data.custom
       }, 
       success: function(html) {
           callback(html);
       }
   });
}

可选配置参数

select-mania下拉选择框插件支持Optgroup元素。

<optgroup label="Group">
   <option value="1">Item</option>
</optgroup>

在每个选项之前你还可以设置一个小图标。通过data-icon属性来设置图标,插件完全支持font-awesome字体图标。

<optgroup data-icon="fa fa-user" label="Group">
   <option value="1" data-icon="fa fa-user">Item</option>
</optgroup>

你还可以禁用一个选项组。

<optgroup label="Group" disabled>
   <option value="1" disabled>Item</option>
</optgroup>

任何被选择的选项都被设置一个选项值。

<option value="1" selected>Item</option>

另外还有一个全局设置参数的方法:

$.selectManiaSetup({
   /* 全局配置参数 */
});

方法

select-mania下拉选择框插件的可用方法有:

init:初始化方法。

//simple call
$('target-selector').selectMania({/*settings*/});
//explicit call
$('target-selector').selectMania('init', {/*settings*/});

update:在目标元素上更新插件。

$('target-selector').selectMania('update');

destroy:销毁指定的select-mania下拉选择框。

$('target-selector').selectMania('destroy');

check:这个方法只能在单一元素上使用,返回true表示目标元素上已经进行了初始化。

if($('target-selector').selectMania('check')) {
   // select-mania is initialized!
}

get:这个方法只能在单一元素上使用,用于获取当前选择的值。

var values = $('select').selectMania('get');

set:这个方法只能在单一元素上使用,用于为下拉选择框设置新的值。

$('target-selector').selectMania('set', [
   {
       value: '20', 
       text: 'Value number twenty'
   }, 
   {
       value: '60', 
       text: 'Value number sixty'
   }
]);

clear:在目标元素上情况已选择的值。

$('target-selector').selectMania('clear');

自定义主题

如果你需要自定义主题,按下面来进行。

/* SELECTMANIA ELEMENT */
.select-mania-theme-[CHANGE-THE-NAME-HERE] .select-mania-inner { border: 1px solid #D6D6D6; }
/* SELECTED VALUES */
.select-mania-theme-[CHANGE-THE-NAME-HERE].select-mania.select-mania-multiple .select-mania-value {
border: 1px solid [YOUR-COLOR];
background-color: [YOUR-COLOR]; color: white; }
/*  DOWN */
.select-mania-theme-[CHANGE-THE-NAME-HERE] .select-mania { border: 1px solid #D6D6D6; }
.select-mania-theme-[CHANGE-THE-NAME-HERE] .select-mania-search-input {
 border: 1px solid #D6D6D6;
 color: #5A5A5A;
}
.select-mania-theme-[CHANGE-THE-NAME-HERE] .select-mania-item:hover { background:[YOUR-HOVER-COLOR];
}
.select-mania-theme-[CHANGE-THE-NAME-HERE] .select-mania-item.select-mania-selected {
background: [YOUR-COLOR]; color: white;

讨论这个素材(0)回答他人问题或分享使用心得会奖励牛币

〒_〒 居然一个评论都没有……

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取
我的牛币余额:0
所需牛币:2 开始下载

牛币获取:签到、评论、充值    » 在线充值(10牛币=1元)