这绝对让我发疯。我有Droid X 2.3.3。出于某种原因,设置data-role="none"
或"data-native-menu="true"
时,本机选择菜单将无法打开。有谁知道为什么会这样?
<!DOCTYPE HTML>
<html>
<head>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.min.css" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.min.js"></script>
</head>
<body>
<div id="wrapper-div">
<div data-role="page" data-theme="b">
<div data-position="inline" data-role="header">
<h1>Test Page</h1>
</div>
<div id="content" data-role="content">
<form action="" method="post">
<fieldset data-role="fieldcontain">
<label for="some-options">Some Options:</label>
<select data-native-menu="true" name="some-options" id="some-options">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</select>
</fieldset>
<fieldset data-role="fieldcontain">
<label for="mote-options">More Options:</label>
<select data-role="none" name="more-options" id="more-options">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</select>
</fieldset>
<fieldset data-role="fieldcontain">
<label for="evenmore-options">Even More Options:</label>
<select name="more-options" id="evenmore-options">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</select>
</fieldset>
</form>
</div>
</div>
</div>
</body>
</html>
答案 0 :(得分:15)
我经历过同样的事情。您需要将data-type="page"
直接保留在<body>
下。有关详细信息,请参阅此jQM问题:https://github.com/jquery/jquery-mobile/issues/1051
所以,删除<div id="wrapper-div">
- 你无论如何都不需要它;-)但是,我相信jQM不应该对我们的开发人员施加这些限制。毕竟,它确实适用于iPhone,所以我很好奇为什么它在Android上无法正常工作。
答案 1 :(得分:2)
据我所知,没有必要使用data-role="none"
只需设置data-native-menu="true"
即可。
<select data-native-menu="true" name="some-options" id="some-options">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</select>
示例here
答案 2 :(得分:0)
我有同样的问题并且更改为data-native-menu = false有帮助,因为我在FORM元素中没有SELECT元素。
如果我理解正确,你应该设置data-native-menu = true,如果你在FORM中有SELECT,基于这里的讨论: