1、通过原生select控件派生一个自定义下拉框
<select id="ddl_picture">
<option value="1">照片1</option>
<option value="2">照片2</option>
<option value="3">照片3</option>
<option value="4">照片4</option>
<option value="5">照片5</option>
</select>
// 则可以通过如下方式,最便捷地派生一个自定义UI的下拉框
var ddl = DropDownList.create({
select : $('#ddl_picture') // 只需要指定select配置项即可
});
2、在1的基础上,控制下拉框的宽度,以及显示的行数
// 设定column和width
var ddl = DropDownList.create({
select : $('#ddl_picture'),
attrs : {
column : 5, // 只显示5行,超过以后显示滚动条
width : 150 // 指定下拉框宽度为150px
}
});
3、通过JSON数据的方式创建一个自定义下拉框
// 假定数据如下
var optionsData = [
['默认相册','001'], // 格式:[ text, value, selected ],其中selected省略时为false
['我的收藏','002'],
['大学同学','003'],
['亲朋好友','004',true], // 默认选中,因为设定了selected为true
['明星们','005'],
['狗仔队','006'],
['This is my love album!','007']
];
// 通过json数据创建
var ddl = DropDownList.create({
container : $('#sltContainer'), // 指定下拉框的容器,不设定时为document.body
attrs : {
id : 'ddl_album' // 指定一个id,必选
},
options : optionsData
});
4、在3的基础上,控制下拉框的宽度、高度和显示行数(同2)
// 通过json数据创建
var ddl = DropDownList.create({
container : $('#sltContainer'), // 指定下拉框的容器,不设定时为document.body
attrs : {
id : 'ddl_album', // 指定一个id,必选
column : 5, // 只显示5行,超过以后显示滚动条
width : 150, // 指定下拉框宽度为150px
height : 36 // 每个选项的高度:36px
},
options : optionsData
});
5、在下拉列表底部增加额外的节点
// 增加额外节点
var ddl = DropDownList.create({
select : $('#ddl_picture'),
attrs : {
column : 5, // 只显示5行,超过以后显示滚动条
width : 150 // 指定下拉框宽度为150px
},
box : $('') // 一个jquery节点对象
});
6、在1的基础上,自定义组件样式
// 设定className
var ddl = DropDownList.create({
select : $('#ddl_picture'),
className : 'your-class-name'
});
该class定义形如:
/* 你的样式 */
.your-class-name {
}
/* select样式 */
.your-class-name .dropdown-select{
}
/* 列表样式 */
.your-class-name .dropdown-list{
}
/* 列表选项样式 */
.your-class-name .dropdown-options{
}