2012-08-03 62 views
0

我已经阅读了很多文章和“修复”这个问题,但还没有找到解决方案。我们正在使用PhoneGap创建一个多平台应用程序,但我们遇到了Android设备上的问题(在iPhone/iPad上正常工作)。我们的下拉菜单不起作用,点击它们什么也不做。<select>下拉菜单不能在Android上点击

当用户“进入新页面”时,我们通过设置内容div的HTML来动态创建所有页面。例如,我们添加以下到我们的内容DIV我们

<div class="dropdown-padding"> 
    <select class="trials-dropdown" id="diseaseSite"> 
     <option value="Any">Any</option> 
     <option value="All Cancers">All Cancers</option> 
     ... 
     <option value="Prostate Cancer">Prostate Cancer</option> 
     <option value="Sarcoma">Sarcoma</option> 
    </select> 
</div> 

任何页面中的一个有什么想法?

+0

你用什么来触发页面更改? – Paul 2012-08-04 22:40:20

回答

0

我从谁说过你动态设置HTML后会解决此问题设置

style.display=block 

属性此下拉我的一个朋友听说过这个修复。

如果你有多个下拉菜单,然后使用

document.getElementsByTagName('select') 
1

迭代他们,如果你有这样的事情:

<div class='multiselect-wrapper'> 
    <div class='multiselect'>Age Range</div> 
     <select type='hidden' class='age' id='age' name='age' multiple=""> 
      <option value='-1'>Age Range</option> 
      <option value='6' title='Preyears'>Pre</option> 
      <option value='7' title='Kids'>Kids</option> 
      <option value='8' title='Tween'</option> 
      <option value='9' title='Adult'>Adult</option> 
     </select> 
    </div> 

,它是不是在你的Android平台(显示为选项本地抽屉你想选择),那么它可能是一个关于你的标签DIV的CSS问题,在这个例子中它会是“.multiselect”。什么是可能缺少的是“指针事件”看到这样的文件:https://developer.mozilla.org/en/docs/Web/CSS/pointer-events

如果你更新你的CSS是这样的:

.multiselect{ 
     position: absolute; 
     top: 0; 
     bottom: 0; 
     right: 0; 
     left: 0; 
     pointer-events: none; 
     cursor: pointer; 
     line-height: 40px; 
    } 

那么它应该工作,使您可以点击选择并用多选选项(基本上是本机多选框)显示抽屉。

希望这对你有效。

我与我的同事Basem一起工作,它为我们工作。

干杯,

CG。