模拟 selectbox
Source
        Output
        QRCode
    <!doctype html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>模拟 selectbox</title>
<link rel="stylesheet" type="text/css" href="//g.alicdn.com/kissy/k/5.0.1/css/base.css">
<style type="text/css">
.c2c-button {
display: inline-block;
*display: inline;
*zoom: 1;
margin: 2px;
border: 0;
padding: 0;
text-decoration: none;
list-style: none;
vertical-align: middle;
cursor: default;
outline: none;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
background-color: #FFF;
border-style: solid;
border-color: #8ab6dd;
white-space: nowrap;
border-width: 1px;
border-radius: 2px;
}
/* State: disabled. */
.c2c-button-disabled {
    background-image: none !important;
    opacity: 0.3;
    filter: alpha(opacity = 30);
}
.c2c-menu-button {
    position: relative;
    line-height: 20px;
    padding-right: 20px;
}
.c2c-button-disabled {
    border-color: #999 !important;
}
/* State: hover. */
.c2c-button-hover,
.c2c-button-focused,
.c2c-menu-buttonmenu-button-open {
    border-color: #ffad33 !important; /* Hover border wins. */
}
::root .c2c-menu-button-content,
::root .c2c-menu-button-dropdown {
    /* Required to make pseudo-rounded corners work on Safari. */
    line-height: normal;
}
/* State: disabled. */
.c2c-menu-button-disabled {
    background-image: none !important;
    opacity: 0.3;
    filter: alpha(opacity = 30);
}
.c2c-menu-button-disabled,
.c2c-menu-button-disabled .c2c-menu-button-content,
.c2c-menu-button-disabled .c2c-menu-button-dropdown {
    border-color: #999 !important;
}
/* Pre-IE7 IE hack; ignored by IE7 and all non-IE browsers. */
* html .c2c-menu-button-disabled {
    margin: 2px 1px !important;
    padding: 0 1px !important;
}
/* IE7-only hack; ignored by all other browsers. */
*:first-child+html .c2c-menu-button-disabled {
    margin: 2px 1px !important;
    padding: 0 1px !important;
}
/* State: hover. */
.c2c-menu-button-hover {
    border-color: #9cf #69e #69e #7af !important; /* Hover border wins. */
}
/* State: focused. */
.c2c-menu-button-focused {
    border-color: orange;
}
/* Caption style. */
.c2c-menu-button-content {
    padding: 0 4px 0 0;
    vertical-align: top;
    display: inline-block;
    *display: inline;
    *zoom: 1;
}
/* Dropdown arrow style. */
.c2c-menu-button-dropdown {
    height: 20px;
    width: 20px;
    /* Client apps may override the URL at which they serve the sprite. */
    background: url(http://img01.taobaocdn.com/tps/i1/T1xqXwXmRuXXXXXXXX-22-44.png) no-repeat -1px -1px;
    vertical-align: top;
    position: absolute;
    right: 0;
    top: 0;
}
.c2c-button-hover .c2c-menu-button-dropdown,
.c2c-button-focused .c2c-menu-button-dropdown,
.c2c-menu-buttonmenu-button-open .c2c-menu-button-dropdown {
    background-position: -1px -23px;
}
.c2c-menu-buttonmenu-button-open .c2c-menu-button-dropdown,
.c2c-button-hover .c2c-menu-button-dropdown {
    border-color: #ffad33;
}
/* menu arrow icon end */
/* menu begin */
.c2c-popupmenu {
    position: absolute;
    left: -9999px;
    top: -9999px;
}
.c2c-popupmenu-hidden{
    visibility: hidden;
}
.c2c-menu {
    background: #fff;
    border: 1px solid #ffad33;
    cursor: default;
    margin: 0;
    outline: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    padding: 4px 0;
    position: absolute;
    z-index: 20000; /* Arbitrary, but some apps depend on it... */
}
/* menu end */
/* menu item begin */
/* State: resting. */
.c2c-menuitem {
    list-style: none;
    margin: 0;
    /* 28px on the left for icon or checkbox; 7em on the right for shortcut. */
    padding: 4px;
    white-space: nowrap;
}
/* If a menu doesn't have checkable items or items with icons, remove padding. */
.c2c-menu-nocheckbox .c2c-menuitem,
.c2c-menu-noicon .c2c-menuitem {
    padding-left: 12px;
}
/*
 * If a menu doesn't have items with shortcuts, leave just enough room for
 * submenu arrows, if they are rendered.
 */
.c2c-menu-noaccel .c2c-menuitem {
    padding-right: 20px;
}
.c2c-menuitem-content {
    font: normal 13px Arial, sans-serif;
}
/* State: disabled. */
.c2c-menuitem-disabled .c2c-menuitem-accel,
.c2c-menuitem-disabled .c2c-menuitem-content {
}
.c2c-menuitem-disabled .c2c-menuitem-icon {
    opacity: 0.3;
    -moz-opacity: 0.3;
    filter: alpha(opacity = 30);
}
/* State: hover. */
.c2c-menuitem-active,
.c2c-menuitem-hover {
    background-color: #ffefd6;
    /* Use an explicit top and bottom border so that the selection is visible
* in high contrast mode. */
    border: 1px solid #ffe0b2;
    padding-bottom: 3px;
    padding-top: 3px;
    margin: 0 3px;
    padding-left: 0;
    padding-right: 0;
}
/* State: selected/checked. */
.c2c-menuitem-checkbox,
.c2c-menuitem-icon {
    background-repeat: no-repeat;
    height: 16px;
    left: 6px;
    position: absolute;
    right: auto;
    vertical-align: middle;
    width: 16px;
}
/* Keyboard shortcut ("accelerator") style. */
.c2c-menuitem-accel {
    /* Keyboard shortcuts are untranslated; always left-to-right. */
    /* @noflip */
    direction: ltr;
    left: auto;
    padding: 0 6px;
    position: absolute;
    right: 0;
    text-align: right;
}
.c2c-menuitem-content {
    display: inline;
}
/* menu item end */
/** pix theme */
.pix-select {
    height:28px;
    background: #fff;
    overflow: hidden;
    width:280px;
    zoom:1;
}
.pix-menu-button-content {
    float: left;
    width:248px;
    height:26px;
    line-height:26px;
    border: 1px solid #BFBFBF;
    border-right: none;
    font-size: 12px;
    padding-left:10px;
}
.pix-menu-button-dropdown {
    float: left;
    background:url(http://img03.taobaocdn.com/tps/i3/T1gJJgXdRBXXaCwpjX.png) no-repeat;
    width:19px;
    height:26px;
    border: 1px solid #A0A0A0;
}
.pix-popupmenu {
    position: absolute;
    width: 280px;
    overflow: hidden;
    border: 1px solid #BFBFBF;
}
.pix-popupmenu-hidden {
    visibility: hidden;
}
.pix-popupmenu .pix-option {
    height: 34px;
    line-height: 34px;
    font-size: 12px;
    padding-left:10px;
    background: #fff;
}
.pix-popupmenu .pix-option-hover {
    background: #F2F2F2;
}
</style>
<script src="//g.alicdn.com/kissy/k/5.0.1/seed-debug.js" data-config="{combine:true}"></script>
</head>
<body>
<h1>模拟 selectbox</h1>
<p>调用 MenuButton.Select.decorate 接口替换已有的 select 元素,点击菜单项触发click事件弹出相应的value值</p>
<div id="container" style="margin-left:50px;">
   <p>c2c 主题样式:</p>
   <div>
        <select name="decorateSelect" id="decorateSelect">
            <option value="-1">请选择</option>
            <option value="1">北京</option>
            <option value="2">上海</option>
            <option value="3">天津</option>
            <option value="4">南京</option>
            <option value="5">杭州</option>
            <option value="6">其他</option>
        </select>
    </div>
    <p>pix 主题样式:</p>
    <div>
        <select name="decorateSelect2" id="decorateSelect2">
            <option value="-1">请选择</option>
            <option value="1">北京</option>
            <option value="2">上海</option>
            <option value="3">天津</option>
            <option value="4">南京</option>
            <option value="5">杭州</option>
            <option value="6">其他</option>
        </select>
    </div>
</div>
<script type="text/javascript">
    require(['menu', 'menubutton'], function(Menu, MenuButton){
        (function(){
            // 调用 MenuButton.Select.decorate 接口替换已有的 select 元素
            var select = MenuButton.Select.decorate('#decorateSelect', {
                width:80,
                prefixCls:"c2c-",
                // 设置对齐方式, 与普通的 Align 大体一致
                // 该配置同菜单配置项
                menu:{
                    align:{
                        points : ['bl', 'tl'],  //默认就是这个配置,可写可不写,或根据需要进行自定义定位
                        offset:[0, -1]
                    },
                    height:150,
                    elStyle:{
                        overflow:"auto",
                        overflowX:"hidden"
                    }
                }
            });
            select.on("click", function (e) {
                alert('当前值为: ' + select.get("value"));
            });
        })();
        (function(){
            // 调用 MenuButton.Select.decorate 接口替换已有的 select 元素
            var select = MenuButton.Select.decorate('#decorateSelect2', {
                prefixCls:"pix-",
                // 设置对齐方式, 与普通的 Align 大体一致
                // 该配置同菜单配置项
                menu:{
                    align:{
                        points : ['bl', 'tl'],  //默认就是这个配置,可写可不写,或根据需要进行自定义定位
                        offset:[0, -1]
                    },
                    height:150,
                    elStyle:{
                        overflow:"auto",
                        overflowX:"hidden"
                    }
                }
            });
            select.on("click", function (e) {
                alert('当前值为: ' + select.get("value"));
            });
        })();
    });
</script>
</body>
</html> 
         
		