在Android 2.3中选择与Android 4.2不同的框样式

bal*_*ala 6 android jquery-ui jquery-mobile cordova

我正在开发一个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>
Run Code Online (Sandbox Code Playgroud)

bal*_*ala 3

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

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

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

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