3 回答
移动浏览器中的这种行为是为了改善用户体验而设计的。根据Safari Web 内容指南
使用 Select 元素 如果您在网页中使用 select HTML 元素,iOS 会显示一个自定义选择控件,该控件针对使用手指作为输入设备来选择列表中的项目进行了优化。在 iOS 上,用户可以轻拂以滚动列表并点击以从列表中选择一个项目。
话虽如此:
我建议不要与之抗争,而是为了移动用户而利用它
select
使用媒体查询为桌面和移动浏览器的元素应用不同的 CSS ;如果显示的选项数量足够小,请考虑使用
<input type="checkbox">
而不是
select
因为它的行为在浏览器中是一致的。
我一直在使用类似的界面,它对桌面用户非常有用,但在多选不显示为多行可滚动列表的触摸设备上完全不直观。
似乎您需要一个完全自定义的控件,但我发现两个 Jquery 控件似乎实现了此功能(尽管方式略有不同)。
Eric Hynds Jquery UI 多选:http: //comsim.esac.esa.int/rossim/3dtool/common/utils/jquery/ehynds-jquery-ui-multiselect-widget-f51f209/demos/index.htm
Quasi Partikel 可排序可搜索多选小部件:http: //quasipartikel.at/multiselect/
这两者在手机大小的设备上都显得有些繁琐,尤其是 Quasi Partikel 版本,它使用项目左侧的小“+”来添加它,而 Eric Hynds 允许点击整个项目来选择/取消选择. 两者都可以通过移动特定样式进行改进,以增加我想的关键元素的大小。
据我了解,我认为根据选择的选项重定向到另一个页面会容易得多,除非有一个原因你没有首先选择这个。
我不明白为什么你不能只使用复选框的下拉列表。这些几乎在任何地方都兼容,当然也适用于所有智能手机。
<select name="Dropdown1">
<option value="o1">Option 1</option>
<option value="o2">Option 2</option>
<option value="o3">Option 3</option>
<option value="o4">Option 4</option>
</select>
或者
<input type="checkbox" name="checkbox" value="o1">Option 1<br>
<input type="checkbox" name="checkbox" value="o2">Option 2
(http://www.w3schools.com/html/tryit.asp?filename=tryhtml_select2和http://www.w3schools.com/html/html_forms.asp)