在iPad上的Mobile Safari中使用第0个<select>选项的错误解决方法?</select>

时间:2011-08-09 15:58:48

标签: javascript html ios ipad mobile-safari

在iPad上的Mobile Safari中,似乎如果<select>元素上没有选择任何选项,则用户无法先选择第0个选项,然后再选择另一个选项(在http://jsfiddle.net/PJTKq/上尝试)在iPad上。)

更具体一点:

  1. 使用两个或更多选项创建<select>元素。
  2. 通过以编程方式设置selectedIndex = -1或从所有"selected"元素中删除<option>属性来清除它。
  3. 点击选择元素,然后选择第0个选项。所选索引不会更改。
  4. 点击选择元素并选择其他选项,然后再次点击它并选择第0个选项。所选索引应该更改两次。
  5. 有没有人知道一种解决方法(除了插入一个空的虚拟选项),允许直接从selectedIndex -1移动到selectedIndex 0?

2 个答案:

答案 0 :(得分:1)

<script>    
// with jQuery
var iPad = !!navigator.userAgent.match(/iPad/i),
    select = "select";

if(iPad === true) {  
    $(select).prop("selectedIndex", 0);
}
</script>

答案 1 :(得分:0)

在修复错误之前,您可能会检测到用户代理并使selectedIndex=0成为Mobile Safari的默认设置。