2016-03-20 79 views
1

嗨,我有我的导航这个小功能,当窗口太短,以显示洞导航菜单出现的选择,并与JavaScript功能,我设法重定向用户该页面通过给定位置ref作为选项值。直到那里一切正常工作,但这个想法是为了使它适用于手机浏览器,因为我在iPhone上尝试它,它只是不做任何事情。想知道是否有人可以看到某些东西需要解决或什么?JavaScript的onchange选择不工作在iOS

功能的物质:

window.onload = function(){ 
    var nav1 = document.getElementById('nav1'); 
    nav1.onchange = function(){ 
     location.href= nav1.value; 
    } 
} 
+0

也许onclick事件会帮助你? – mat

+0

也分享html代码。 –

+1

也许这可以帮助http://stackoverflow.com/questions/8004227/ios-select-onchange-not-firing –

回答

1

所以我发现itsgoingdown引用的iOS select onchange not firing答案,似乎有什么工作,像神一样,但不那么顺利的PC,就是把一个“的onblur”行动直接选择标记和引用将位置更改为所选项目的值;例如下面的html代码,如果它帮助任何人在未来。在PC上的问题是,你需要点击选择框来触发“onblur”动作,如果我找到一种方法来使它更平滑我会让你知道,现在如果有人想出来之前是欢迎来展示我(我喜欢学习新的方式,如同所有)。

关于onblur本身的门楣解释是,window.location就像名称所说的那样,会将位置更改为参考值。在第二部分中,所有表示“this”的部分引用了选择本身,每个选项的选项和所选选项值的值由“selectedIndex”引用。因此,在此之后,您只需将每个选项的价值(在这种情况下表中的每个类别)都放入您想要获取的命运中。

<select id="nav1" onblur="window.location=(this.options[this.selectedIndex].value)"> 
    <option> Seleccionar Destino </option> 
    <?php 
     foreach(takeallinorder('categories', 'order') as $order => $cat){ 

echo "<option value='", $cat['destiny'] ,"'>", $name, "</option>"; 
} ?> 
</selected> 
+0

我把我的答案原始问题stackoverflow.com/questions/8004227/...修改并做了一个片段。但模糊事件正在做的事情,欢呼;-) –