6

我正在开发一个 PhoneGap 应用程序,其中单击按钮会生成特定数量的文本框,并根据用户的输入选择框。

我在运行 Android 4.2 的 AVD 上测试了该应用程序。一切正常,与文本框一起生成的选择框如下图所示:

现在,我在运行 android 2.3 的 AVD 中测试了相同的应用程序,结果如下所示:

.

显然,仅选择框在 Android 2.3 中就显得很奇怪,而其他控件(如文本框和按钮)则完全没问题。

我不知道为什么会这样。该应用程序使用 JQM 和 Cordova 2.5.0。

为了让您对我要解释的内容有所了解,我在下面添加了代码,这是我的选择框标记

    <select class="sel" data-theme="a" id="selectmenu0">
         <option value="1">option1</option>
         <option value="2">option2</option>
         <option value="3">option3</option>
    </select>
4

2 回答 2

3

我自己解决了这个问题。问题在于我生成标记的方式。出于某种未知原因,Android 2.3 期望在导航到将插入生成的 DOM 的下一页之前构建 DOM。

但就我而言,在收到用户的输入后,我做了以下操作

  1. 我导航到目标页面
  2. 然后,我构建了选择框标记

出于某种原因,Android 2.3 期望上述步骤的顺序相反。只有这样,JQM 才会将其样式应用于选择框。

于 2013-06-28T18:48:53.637 回答
1

我遇到了同样的问题,并通过将参数“data-native-menu”设置为 false 来解决它,如下所示:

<select id="yourSelectBox" data-native-menu="false"></select>

我认为这更简单。

于 2013-07-03T14:35:55.000 回答