答案 0 :(得分:1)
您需要使用plugin将经典select
转换为html元素,以根据需要自定义select
。
答案 1 :(得分:1)
您的问题只是移动浏览器不尊重size
标记的<select>
属性。甚至桌面浏览器都有historically had trouble with it。
除了不依赖于该属性之外,你无法真正做到这一点。在JavaScript中创建这种控件并不是特别困难。您可以使用媒体查询来决定是显示JavaScript版本(移动版)还是<select>
版本(桌面版)。
$('ul.select li').click(function(e){
var item = $(e.target);
item.addClass('selected');
item.siblings().removeClass('selected');
$('#events').val(item.text());
});
ul.select {
list-style: none;
margin: 0;
padding: 2px;
border: 1px solid grey;
}
ul.select li {
padding: 2px 6px;
}
ul.select li:hover {
cursor: pointer;
}
ul.select li.selected {
background-color: blue;
color: white;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="events" type="hidden" name="events" value="">
<ul class="select">
<li>One</li>
<li>Two</li>
<li>Three</li>
</ul>
我还要注意,移动浏览器会故意以改善用户体验的方式显示下拉菜单。在尝试颠覆之前我会三思而后行。