我知道这个问题已经很老了,但我只是在一些类似的问题上苦苦挣扎。到目前为止,移动浏览器无需任何额外的 JS 即可支持这些原生控件元素(我不确定去年移动设备是否有相同的支持)。
所以你可以做的是以下。首先,您使用选择框建立一个列表:(当然它也适用于单个选择框)
<ul>
<li>
<select class="dropdown" name="fruits">
<option value="Bananas">Bananas</option>
<option value="Oranges">Oranges</option>
<option value="Apples">Apples</option>
<option value="Pears">Pears</option>
</select>
</li>
<li>
<select class="dropdown" name="cities">
<option value="Arizona">Arizona</option>
<option value="California">California</option>
<option value="Colorado">Colorado</option>
<option value="Conneticut">Conneticut</option>
</select>
</li>
</ul>
然后应用一些自定义样式使其看起来像原生 UI:
ul {
list-style: none;
margin: 0;
padding: 0;
}
.dropdown {
border: 1;
padding: 3px 5px;
width: 100%;
/* attach a custom background image */
background: url('http://dummyimage.com/15x15/00ff40/000&text=^') no-repeat right center #FFF;
/* prevent the default small pointer from showing up */
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
而已。在 JSBin 上工作的现场演示(使用 iOS 7 进行测试,但也应该在其他现代移动浏览器中工作)。