JQuery Mobile本机选择不在droid上工作

时间:2011-06-14 21:30:11

标签: jquery android css mobile jquery-mobile

这绝对让我发疯。我有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>

3 个答案:

答案 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,基于这里的讨论:

JQuery Mobile Select Box not working